eureka-client
当构建了服务发现组件,微服务如何注册到服务发现组件?当构建了eureka集群,如何保持eureka-server之间注册表的一致?这都涉及到了eureka-client(eureka客户端)。eureka-client的作用往eureka-server注册信息,从eureka-server里获取注册表信息等。
如果这有些不好理解的话,我们可以这么说。在先前说到单体部署Eureka服务的时候,说eureka-server就是一个消息贩子。那么eureka-client就是一个手机。微服务拥有一个手机,它告诉消息贩子自己的姓名和联系方式,告诉eureka-server,如果有人拿着它(eureka-client)的名字来找它(eureka-server),那么就把它(eureka-client)的位置说出去。这就是注册。当然,微服务也可以通过电话,来从消息贩子(eureka-server)那里获取到其他的微服务的联系方式。而且厉害的是,这个手机(eureka-client)还有保存从消息贩子获取的其他微服务的联系方式的功能,这样子下次想要再次找那个微服务,也就不用老是去问消息贩子了,毕竟电话费是要钱的。
这么一说,这个手机(eureka-client)至关重要,没有手机,也就没有微服务可以联系上消息贩子(eureka-server),当然消息贩子也就不能提供任何的消息了。
那么一个微服务如何去购买一台这样可以跟消息贩子联系的手机呢?
实现eureka客户端
添加eureka-client的依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
给EurekaClientApplication添加注解@EnableEurekaClient
package com.wangguitang.freedom.study.spring.cloud.eureka.client; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
在配置文件application.yml中添加配置
server: port: 8080 spring: application: name: eureka-client eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka
启动Eureka-client
- 右键类EurekaClientApplication,选中Run As–>Spring Boot App