探索Finchley版Spring Cloud(服务注册与发现)
前言
最近在学习spring cloud,学习方志明老师出的书《深入理解Spring Cloud与微服务构建》,教程里Spring Cloud 的版本是Dalston版,不过最近Finchley版已经发布,所以想学习基于Spring boot2.x的新版,过程也遇到很多坑。记录学习过程。
创建父工程
因为学习过程中需要多个Spring Boot工程,所以采用多模块的结构,创建完主工程后引入Spring Boot依赖,和Spring Boot的依赖,以及指定jdk版本等,如图:
创建服务注册中心
创建一个基础的Spring Boot工程,命名为eureka-server,可以使用idea中Spring Initializr 创建,创建过程中勾选Eureka Server。
导入的pom.xml的如下:
这里遇到的第一个坑,之前的版本引入eureka-server的pom.xml为:
新版Finchley的版本为:
然后修改配置文件application.yml中的相关配置,在默认情况下,Eureka Server会向自己注册,所以我们需要禁用它的客户端注册行为,修改后的配置如下:
在工程启动类EurekaServerApplication中加上注解@EnableEurekaServer,开启Eureka Server的功能,代码如下:
启动工程类,访问http://localhost:8761,可以发现当前没有任何注册的实例。
创建服务客户端
创建工程eureka-client,该工程作为Eureka Client的工程向服务注册中心Eureka Server注册,可以使用idea中Spring Initializr 创建,创建过程中勾选Eureka Client。
创建后的pom.xml代码如下:
同样的,Finchley版Eureka Client的maven依赖也修改了。 修改工程的配置文件application.yml,配置如图:
然后在启动类EurekaClientApplication加上注解@EnableEurekaClient开启Eureka Client功能,访问http://localhost:8761, 显示如图:
在eureka-client工程下写一个接口,创建一个类HiController,加上@RestController注解,具体如图:
重启eureka-client服务,访问http://localhost:8763/hi?name=linxb,显示如图:
至此,最简单的服务注册与发现已经搭建完成。
