nacos健康检查
2020-11-15 20:12:56 2 举报
nacos健康检查
作者其他创作
大纲/内容
如果某个实例超过15秒没有收到心跳,则将它的healthy属性置为false
if(instance.isEphemeral()){添加一个延时执行的定时心跳任务BeatTask}
instance.setHealthy(false)
调用服务端的实例注销接口(HttpMethod.DELETER)
putService(service)
/instance
serviceManager.removeInstance
双层map结构
nacos-client
service.init()
调用服务端的实例注册接口(HttpMethod.POST)
createEmptyService
ClientBeatCheckTask
putServiceAndInit(service)
InstanceController.register
如果某个实例超过30秒没有收到心跳,直接剔除该实例(被剔除的实例如果恢复发送心跳则会重新注册)
服务注册
beatReactor.addBeatInfo
serviceManager.registerInstance
定时任务,每5s钟执行一次
nacos-server
HealthCheckReactor.scheduleCheck(clientBeatCheckTask)
deleteIP(instance)
创建内存注册表结构
NamingService.registerInstance
serverProxy.registerService
0 条评论
下一页