consul–基础–8.2–注册服务下线问题–consul监控微服务设计
1、背景
因为consul不能及时的将不健康的服务从consul中剔除出去,导致其他微服务从consul中获取到不健康的服务,从而请求失败,影响了业务。所以需要一个consul监控工具,及时的将不健康的服务从consul中剔除出去。
2、架构原理
2.1、说明
- 定时任务-更新服务实例信息:定时获取服务实例信息。
- 定时任务-更新严重服务实例信息:定时获取严重服务的实例信息。
- 定时任务-严重服务健康检查:
- 是否需要去健康队列 :连续2次通过,就转移到健康队列
- 是否需要去注销队列:连续3次不通过,就转移到注销队列
- 每个服务实例都需要一个线程定时去健康检查
- 定时任务-健康服务的健康检查
- 是否需要去严重队列:连续2次不通过,就转移到严重队列
- 每个服务实例都需要一个线程定时去健康检查
3、代码
https://gitee.com/DanShenGuiZu/consul_monitor.git