1、gRPC服务端健康检查的思想
gRPC服务端将服务的最新状态,更新到一个channel通道里,健康检查服务Watcher会从此channel通道里获取此服务的最新状态,如果发现此最新状态跟之前的状态不一样,服务端会将此最新状态发送给客户端。
2、服务端处理客户端请求流程
在启动了gRPC健康检查服务前提下,服务端处理客户端请求,要经历如下步骤:
Step1:接收客户端连接请求,建立连接
Step2:接收客户端流的请求(指客户端请求健康检查服务,如Watch服务)
Step3:对于客户端请求的服务,如SayHello服务,获取服务状态,并反馈给客户端
Step4:接收客户端真正的请求,如对SayHello服务的请求,并将处理结果返回给客户端。
也就是说,在健康检查模式下,多执行了2,3步。下面将详细解析第2,3步。