微服务从小白到专家:Spring Cloud和Kubernetes实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.6 coupon-template-service微服务架构升级

限于篇幅,Controller类的创建没有包含在正文中,Controller部分代码没有太多业务逻辑,只是对外开放HTTP接口和设置访问路径,读者可以到本书指定的GitHub站点中获取源代码参考。

5.6.1 添加依赖项

在coupon-template-service的pom.xml文件中的<dependency>节点下添加eureka-client的依赖项,代码内容如下:

注意:上面代码中添加的依赖项是eureka-client,这与我们在注册中心模块中添加的依赖项不同,注册中心模块添加的依赖项是eureka-server,初学者很容易将两者混淆。

5.6.2 创建启动类

在coupon-template-service下的com.broadview.coupon.template路径中创建启动类,命名为CouponTemplateApplication,启动类的创建代码如下:

上面代码中的关键注解是@EnableDiscoveryClient,它会在项目启动的同时加载配置信息,根据配置开启Eureka的服务治理功能。该注解是Spring Cloud中的一层标准抽象接口,如果后续想要使用Nacos替换Eureka,则只需要对底层组件的依赖和配置项进行替换,不用改动任何注解。

5.6.3 添加配置项

在src/main/resources目录下创建配置文件application.yml,并添加配置项,具体配置代码如下:

以上配置项中有三个关键配置,分别是当前应用的端口号、注册中心地址和应用名称,这三个配置是服务注册的关键信息。

5.6.4 运行项目

项目代码和配置项都添加完毕后,我们就可以启动项目并验证服务注册功能是否正常。首先在coupon-cloud-center项目下将整个项目编译一遍(编译命令为mvn clean install),由于coupon-user-service和coupon-calculation-service还没有进行微服务改造,可以暂时将这两个模块从父类pom中的module节点下注释掉,以免引起编译错误,待改造完成之后再添加进来。

我们可以通过java-jar命令在命令行启动项目,也可以通过在开发工具中直接运行main()方法的方式启动项目。首先将eureka-server和eureka-server1项目启动,待两个项目的注册中心都启动成功后,运行CouponTemplateApplication类中的main()方法。当项目启动完成后,在浏览器中打开注册中心页面,如果可以在服务注册表中看到一条coupon-template-service的记录,那么就宣告coupon-template-service项目改造成功,服务注册信息如图5-6所示。

图5-6 coupon-template-service的服务注册信息