天天看点

grpc-go源码剖析六十三之健康检测的整体流程图介绍

采用同样的方式,先通过一张图来整体介绍一下HealthChecking的流程。

有了整体了解,再看源代码就方便多了。

grpc-go源码剖析六十三之健康检测的整体流程图介绍

从上面的流程图中,可以看出来:

最核心思路就是只要服务器端的服务状态发生变化,就会通知客户端,客户端会根据服务状态做出响应的调整;

主要流程说明:

健康检测的前提条件是,客户端已经跟服务器端建立起了底层连接;
客户端一侧:
  • 健康检测请求阶段:
    • 更新链接状态为connecting
    • 选择服务器端的健康检测模式,如可以选择的是Check方式,也可以选择Watch方式;
    • 创建请求头,将健康检测模式,如Watch写入到请求头里,即客户端向服务器端请求的服务是Watch方法

继续阅读