采用同样的方式,先通过一张图来整体介绍一下HealthChecking的流程。
有了整体了解,再看源代码就方便多了。
从上面的流程图中,可以看出来:
最核心思路就是只要服务器端的服务状态发生变化,就会通知客户端,客户端会根据服务状态做出响应的调整;
主要流程说明:
健康检测的前提条件是,客户端已经跟服务器端建立起了底层连接; |
客户端一侧: |
- 健康检测请求阶段:
- 更新链接状态为connecting
- 选择服务器端的健康检测模式,如可以选择的是Check方式,也可以选择Watch方式;
- 创建请求头,将健康