00_Eureka整体流程图
2020-10-26 19:26:48 1 举报
Eureka源码核心流程
作者其他创作
大纲/内容
注册信息发送到其他服务实例
acceptorQueue
增量拉取注册表的话只能拉取最近180s有变化的数据
hash校验在本地进行全量数据校验要是校验失败重新拉取全量数据hash算法:key_value
主动下线
batchWorkQueue
增量拉取
定时任务(故障下线)60s摘除下线服务摘除默认一次只能摘除服务的15%随机摘除下线服务
全量拉取
Server-02
放一份到只读缓存
未找到去读写缓存取
下线期望心跳-2
ReplicationTaskProcessor后台线程
找到后放到读写缓存
后台任务每30s执行移除在队列中超过180s的数据
readWriteCacheMap构造时默认180s过期
后台线程拉取增量30s拉取一次
recentlyChangedQueue最近改变的注册表
刷新Client配置
processQueue
多级缓存机制(主动、被动、定时过期)
未找到直接拉取注册表数据(全量)
Server-01
拉取增量
同步到其他server
acceptorExecutor集群同步信息放到队列中
集群间同步-多级队列
自我保护期望心跳数:服务*2*0.85%若实际心跳小于期望心跳则开启自我保护自我保护开启将不摘取服务
注册下线故障会清除缓存
Client初始化
后台线程30s读写缓存放到只读缓存
注册
注册期望心跳+2
后台线程40s注册重试
后台线程10分钟更新一次
注册下线放到队列中
后台线程30s发送一次心跳
注册放到注册表
Eureka Client_A服务A
AcceptorRunner后台线程(500s,250个)取出来封装成任务再放到队列中同时分批次
readOnlyCacheMap
0 条评论
下一页