1.Eureka Client 工作流程

2.DiscoveryClient

职责:
- 注册服务实例到server中;
- 发送心跳更新与server的租约;
- 在服务关闭时从server中取消租约,服务下线;
- 查询在server中注册的服务实例列表。
构造函数
构造函数,同时完成了client启动阶段的各项工作,包括:
- 相关配置的赋值;
- 备份注册中心的初始化;
- 拉取server段注册表信息;
- 注册前的预处理;
- 向server注册自己;
- 初始化心跳定时任务,缓存刷新和按需注册等定时任务。
3.拉取注册表信息
.fetchRegistry#
全量:/eureka/apps/
增量更新:/eureka/apps/delta/
4.服务注册
.register#
注册地址:/eureka/apps/${APP_NAME}5.初始化定时任务
_._initScheduledTasks#
TimedSupervisorTask
为了监控自身应用信息或者状态的变化,并在发生变化时向server重新注册,eureka client设置了一个按需注册定时器。
流程图:
按需注册定时任务:
- 定时刷新服务实例的信息,检查应用状态的变化,实例信息改变时向server重新注册;
- 注册状态改变监听器,应用状态发生变化时,刷新服务实例信息。
五、服务下线
_._shutdown#
/eureka/${APP_NAME}/${INSTANCE_INFO_ID} DELETE
