检查grpc服务器的可用性?

时间:2018-07-08 11:04:03

标签: grpc

是否可以在不进行实际过程调用和实现其他查询(即grpc-server)的情况下检查rpc HealthCheck (Input) returns (Status)是否正常?

1 个答案:

答案 0 :(得分:1)

大多数客户端应使用channel state API。例如,在Java中,可以通过state = managedChannel.getState(false);使用。在许多情况下,将{IDLE,CONNECTING,READY}视为“良好”是适当的,但是如果您对延迟非常敏感,则只能将READY视为“良好”,并且应该将true传递给getState()。 / p>

请注意,API不会主动监视服务的运行状况;它只是告知服务器当前是否已知正在运行并且可以访问。如果您需要了解服务的确切运行状况,则需要通过RPC使用运行状况服务。但这通常很少见,除非负载均衡器(而不是使用负载均衡器的客户端)除外。