简介
- 简单使用参考 Eureka服务发现
- 参考:http://www.iocoder.cn/Eureka/
客户端初始化
- 客户端在引入pom依赖后,通过
@EnableDiscoveryClient
即可开启服务发现功能,因此以此注解为入口进行查看源码 ^1- 此类属于
spring-cloud-commons-2.0.2.RELEASE.jar
包下,为 springcloud 对 netflix-eureka 的封装
- 此类属于
@EnableDiscoveryClient
注解是用来启用DiscoveryClient
的实现,核心的实现为EurekaDiscoveryClient
1
2
3
4
5
6
7
8
9
10
11
12public class EurekaDiscoveryClient implements DiscoveryClient {
public static final String DESCRIPTION = "Spring Cloud Eureka Discovery Client";
private final EurekaInstanceConfig config;
// EurekaDiscoveryClient 只是关联了 com.netflix.discovery.EurekaClient,具体的服务发现还是由 EurekaClient 完成
private final EurekaClient eurekaClient;
public EurekaDiscoveryClient(EurekaInstanceConfig config, EurekaClient eurekaClient) {
this.config = config;
this.eurekaClient = eurekaClient;
}
// ...
}EurekaClient 接口类图说明
- CloudEurekaClient 为 springcloud 对 DiscoveryClient 的继承,具体的逻辑还是由 DiscoveryClient 完成
DiscoveryClient
类说明- register() 客户端注册
- renew() 客户端续约
- fetchRegistry() 获取注册的服务列表
- shutdown() 客户端下线
1 | // AbstractDiscoveryClientOptionalArgs 自定义参数,可通过自定义Bean继承此类以到达定制化某些功能 |
流程图
参考文章