文章目录
- Eureka Client
- 一 职责
- (1)向 Eureka Server注册实例
- (2)向 Eureka Server续租,发送心跳
- (3)查询 Eureka Server拉取注册表
- (4)向 Eureka Server 取消租约
- 二 源码解读
- (1)`defaultZone`解读
Eureka Client
一 职责
(1)向 Eureka Server注册实例
在这个方法里可看到
DiscoveryClient(ApplicationInfoManager applicationInfoManager, final EurekaClientConfig config, AbstractDiscoveryClientOptionalArgs args, EndpointRandomizer randomizer)
详细
register()
(2)向 Eureka Server续租,发送心跳
在
DiscoveryClient.java
中可看到
开启了一个定时器,心跳定时器
心跳线程,每次调用
renew()
方法
renew()
详情
若状态码为
NOT_FOUND
, 则去注册
boolean success = register();
(3)查询 Eureka Server拉取注册表
在
DiscoveryClient.java
中可看到
CacheRefreshThread()
方法
(4)向 Eureka Server 取消租约
二 源码解读
(1) defaultZone
解读
defaultZone
public static List<String> getServiceUrlsFromConfig(EurekaClientConfig clientConfig,
String instanceZone,
boolean preferSameZone) {
...
List<String> serviceUrls = clientConfig.getEurekaServerServiceUrls(availZones[myZoneOffset]);
...
}