自动故障感知以及服务实例自动摘除源码剖析

1 每隔1min调度一次EvictionTask这个任务,感知是否有实例故障,并摘除

 eureka-server初始化完成,进入下面这个方法

registry.openForTraffic(applicationInfoManager, registryCount);
继续调用父类方法
super.postInit();
接着执行下面这个调度任务

 

   

2 自动故障感知以及服务实例自动摘除核心逻辑

   

3 如果检测到服务故障,将实例信息放到 expiredLeases 中去,isExpired() 有个bug,注释中有说明

   

4 分批次随机将故障实例下线

posted @ 2023-02-20 15:52  大坝谁修哈  阅读(38)  评论(0)    收藏  举报