Yuque Archive
寻常的路

Spring Cloud服务注册与发现

参考:SpringCloud教程第1篇:Eureka(F版本)

准备

使用IDEA新建空白项目作为工作区(会使用到不止一个模块)。

服务发现者(注册中心)

新建模块,命名为server,使用Spring Initializr,选择如下依赖:

编辑main文件,使用@EnableEurekaServer注解声明这是服务发现者:

server/src/main/java/net/smallyu/java/server/ServerApplication.java

此外,还需要编辑配置文件作出一些配置:

server/src/main/resources/Application.yml

默认它自己也作为一个Client,配置文件中设置registerWithEureka和fetchRegistry为false表明这是Server。

运行模块,访问 http://localhost:8761/ 可看到如下界面,此时Application列表为空:

服务提供者(被发现)

新建模块,命名为client1,选择和server相同的依赖(对)。

在类名上使用@EnableEurekaClient声明这是服务提供者。client1作为提供者,不止是能够被监测到就行了,所以同时使用@RestController注解,让主类作为控制器,可以处理HTTP请求(这里Spring Boot部分的操作):

client/src/main/java/net/smallyu/java/client1/Client1Application.java

代码同样是比较简单的,访问/hi路由,页面返回"Hello World"。

这里也要编写配置文件:

client1/src/main/resource/application.yml

这里设置服务名称为"service-hi",之后服务间将通过这个名称进行通信。

同时运行两个模块,再次访问 http://localhost:8761/ ,可以看到Application列表中已经出现service-hi:

client1启动在了8762端口,所以可以直接访问 http://localhost:8762/hi 确定client1正常运行。