购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 搭建项目骨架

万丈高楼平地起。

接下来,笔者进行微服务架构项目第一个步骤的编码:新建一个文件夹,把项目的基础骨架搭建出来。

由于已经构建过Spring Cloud Alibaba整合服务治理后的多模块模板项目,因此这里直接使用spring-cloud-alibaba-multi-service-demo进行简单的改造即可。

2.2.1 构建项目并整理依赖关系

先把项目名称修改为newbee-mall-cloud-dev-step01,再将order-service-demo修改为newbee-mall-cloud-gateway-admin、将 shopcart-service-demo 修改为 newbee-mall-cloud-user-service,并删除goods-service-demo模块(本开发步骤中只需要两个Maven模块),然后删除newbee-mall-cloud-gateway-admin项目和newbee-mall-cloud-user-service项目中已存在的包和代码,只保留项目中基础的Maven目录结构。

下面整理项目中的依赖项和依赖关系。

修改root节点的pom.xml配置文件,代码如下:

主要工作是配置项目的名称和模块的依赖关系,同时管理和配置 Spring Cloud Alibaba基础依赖、微服务发现依赖和网关依赖。

子节点newbee-mall-cloud-gateway-admin的pom.xml配置代码如下:

这是一个网关微服务,主要引入Spring Cloud Gateway依赖、微服务发现依赖和负载均衡依赖。

子节点newbee-mall-cloud-user-service的pom.xml配置代码如下:

这是整个实战项目中的用户微服务,主要引入微服务发现依赖和We b开发依赖。因为这是开发的第一个步骤,所以主要测试基础功能和代码,后续会引入MyBatis、MySQL、Swagger等实际开发时的依赖。

以上操作主要保证基础目录搭建成功、微服务注册成功、网关层能够正常与微服务实例通信,并且项目中没有代码报错。以上操作顺利完成后,再往项目中加入业务代码。不急,一步一步来。

2.2.2 编写测试代码

1.newbee-mall-cloud-user-service项目编码

打开newbee-mall-cloud-user-service项目,新建ltd.user.cloud.newbee包。之后创建启动类NewBeeMallCloudUserServiceApplication,代码如下:

新建 ltd.user.cloud.newbee.controller 包,在该包下新建 NewBeeMallCloudAdmin UserController类,并添加一个测试接口,代码如下:

修改该项目的配置文件,application.properties文件代码如下:

这里主要配置微服务名称、启动端口号,修改服务中心的相关配置项。

2.newbee-mall-cloud-gateway-admin项目编码

打开 newbee-mall-cloud-gateway-admin项目,并新建 ltd.gateway.cloud.newbee包。之后创建启动类NewBeeMallCloudAdminGatewayApplication,代码如下:

修改该项目的配置文件,application.properties文件中的配置项如下:

这里主要配置微服务名称、启动端口号、路由,修改服务中心的相关配置项。

上述操作完成后,项目的目录结构如图2-1所示。

3.效果演示

接下来需要启动Nacos Server,之后依次启动这两个项目。如果未能成功启动,那么开发者需要查看控制台中的日志是否报错,并及时确认问题和修复。启动成功后进入Nacos 控制台,单击“服务管理”中的服务列表,就可以看到列表中已经存在这两个微服务的信息了。

打开浏览器并在地址栏中输入如下网址:http://localhost:29000/users/admin/test/13。

响应结果如图2-2所示。

图2-1 项目的目录结构

图2-2 响应结果

验证网关层与用户微服务是否能够正常通信。打开浏览器并在地址栏中输入如下网址:http://localhost:29100/users/admin/test/13。

响应结果如图2-3所示。

图2-3 通过网关层访问的响应结果

希望读者能够根据笔者提供的开发步骤顺利地完成开发工作。

万事开头难。这句话对newbee-mall-cloud实战项目的开发同样适用。凭空开发一个微服务架构项目,对大部分开发人员来说都会有一定的难度,笔者刚开始做这个实战项目教程的时候同样有些束手束脚,会遇到如“先做哪一步呢?”“先引入哪个组件呢?”“先改造哪个微服务呢?”“先配置什么东西呢?”之类的问题。

在开发前期肯定要保证项目结构、依赖关系都配置正确。同时,要保证微服务实例能够正常注册到服务中心,服务接口能够正常调用。当然,这里也加了网关模块,没有选择在开发后期引入网关服务,主要是为了在保证服务正常通信的同时,网关模块能够正常使用。虽然只是短短的一节内容,但是涉及的知识点是非常多的,如Spring Cloud Alibaba依赖配置、微服务实例与服务中心Nacos的通信、网关服务Spring Cloud Gateway的配置等。 gKZ9BUuCIFhHXxHIqaJ1qDdPSvGdJ6S9VNgfZmDSGVZ7+zrt9xs76n0JHhZXud4e

点击中间区域
呼出菜单
上一章
目录
下一章
×