SpringBoot + Spring Cloud Eureka 服务注册与发现 (2)

启动两个注册中心服务
eureka7001

截屏2020-07-2511.14.29.png


eureka7002

截屏2020-07-2511.14.36.png


服务启动后,注意到DS Replicas中包含集群中另一台机器,说明集群已生效。

服务提供者

服务提供者我这里用了8001和8002两个来模拟集群。

截屏2020-07-2511.18.30.png


pom.xml

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> </dependencies>

application.yml

server: port: 8001 spring: application: name: CLOUD-STUDENT-SERVICE eureka: client: register-with-eureka: true #集群节点下需要设置为true,才能配合客户端使用Ribbon 负载均衡 fetch-registry: true service-url: defaultZone: :7001/eureka, :7002/eureka #集群需要配置所有注册中心 instance: instance-id: student-service8001 prefer-ip-address: true # 访问路径可以显示ip地址

添加一个服务接口

@RestController @RequestMapping("/student") public class StudentController { @GetMapping("/list") public List<String> list(){ return Arrays.asList("Kobe","Lin","Tim","James"); } @GetMapping("/version") public String version(){ return "8001,202007162310"; } }

修改启动类

@SpringBootApplication @EnableEurekaClient public class MyStudentService8001 { public static void main(String[] args) { SpringApplication.run(MyStudentService8001.class,args); } }

依次启动两个服务提供者8001和8002。服务启动后无错误的情况下刷新Eureka Server界面。
eureka7001

截屏2020-07-2511.25.24.png


eureka7002

截屏2020-07-2511.26.58.png


在Application里已经看到CLOUD-STUDENT-SERVICE的状态中已经有两个服务注册进来了。

服务消费者

服务消费者我就写了一个Module,端口8087
pom.xml

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> </dependencies>

application.yml
这里客户端消费服务时需要配置集群中的两个注册中心地址。

server: port: 8087 spring: application: name: student-consumer eureka: client: fetch-registry: true register-with-eureka: false service-url: defaultZone: :7001/eureka, :7002/eureka

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdswd.html