有没有什么方法可以grpc-server在不进行实际的过程调用和实现额外的查询(即rpc HealthCheck (Input) returns (Status))的情况下检查它是否正常?
大多数客户端应该使用通道状态 API。例如,在 Java 中,可以通过state = managedChannel.getState(false);. 在许多情况下,将 {IDLE, CONNECTING, READY} 视为“好”是合适的,但如果您对延迟非常敏感,则只能将 READY 视为“好”,并应传递true给getState().
请注意,API 不会主动监控服务的运行状况;它只是通知服务器当前是否正在运行且可访问。如果您需要了解服务的精确运行状况,那么您需要通过 RPC 使用运行状况服务。但通常预计这种情况很少见,除了负载均衡器(而不是使用负载均衡器的客户端)。
| 归档时间: |
|
| 查看次数: |
12800 次 |
| 最近记录: |