eureka 服务续约流程图
2021-08-27 19:28:14 2 举报
eureka 服务续约流程图
作者其他创作
大纲/内容
交给线程池executor执行
这里的参数只有appName 与instanceId
InstanceResource
这里经过这么多的reosurce,是因为jersey的机制
根据appName 与instanceId 去注册表中获取到实例的租约信息,如果租约信息是null就没有后续了,直接返回false
在eureka client 创建的时候,然后 有个initScheduledTasks 方法创建了几个任务调度,其中有一个就是renew的,默认是30s 执行一次
renewLease
调用DiscoveryClient的renew 方法进行服务续约
继续往任务调度中扔一个TimedSupervisorTask任务,然后30s后执行
节点之间的同步replicateToPeers
续约成功
renew 计数器+1 ,这个是用作 eureka 是否开启保护机制用的
交给jersey客户端端,发送PUT请求
eureka server 处理renew 动作
调用注册表PeerAwareInstanceRegistryImpl的renew 方法进行服务续约
ApplicationResource
任务调度
ApplicationsResource
PUT
TimedSupervisorTask
更新租约中最后更新时间 为当前时间+ duration(这个时间默认是90 s)
public void renew() { lastUpdateTimestamp = System.currentTimeMillis() + duration; }
调用父类的renew 方法进行服务续约
apps/{appName}/{instanceId}
web 容器
0 条评论
下一页