有什么方法可以检查吗grpc-server
无需进行实际的过程调用和实现额外的查询(即rpc HealthCheck (Input) returns (Status)
)?
大多数客户应该使用通道状态API https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md#channel-state-api。例如,在 Java 中,可以通过state = managedChannel.getState(false);
。在许多情况下,将 {IDLE, CONNECTING, READY} 视为“好”是合适的,但如果您对延迟非常敏感,则只能将 READY 视为“好”并且应该通过true
to getState()
.
请注意,API 不会主动监控服务的运行状况;它只是通知服务器当前是否正在运行且可访问。如果您需要了解服务的精确运行状况,那么您需要通过 RPC 使用运行状况服务。但通常预计这种情况很少见,除了负载均衡器(而不是使用负载均衡器的客户端)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)