是否可以在不进行实际过程调用和实现其他查询(即grpc-server
)的情况下检查rpc HealthCheck (Input) returns (Status)
是否正常?
答案 0 :(得分:1)
大多数客户端应使用channel state API。例如,在Java中,可以通过state = managedChannel.getState(false);
使用。在许多情况下,将{IDLE,CONNECTING,READY}视为“良好”是适当的,但是如果您对延迟非常敏感,则只能将READY视为“良好”,并且应该将true
传递给getState()
。 / p>
请注意,API不会主动监视服务的运行状况;它只是告知服务器当前是否已知正在运行并且可以访问。如果您需要了解服务的确切运行状况,则需要通过RPC使用运行状况服务。但这通常很少见,除非负载均衡器(而不是使用负载均衡器的客户端)除外。