Is there any way to check that grpc-server is up without making actual procedure calls and implementing additional queries (i.e. rpc HealthCheck (Input) returns (Status))?
Most clients should use the channel state API. In Java, for instance, that is available via state = managedChannel.getState(false);. Treating {IDLE, CONNECTING, READY} as "good" is appropriate in many circumstances, but if you are very latency sensitive you can only consider READY as "good" and should pass true to getState().
Note that the API does not actively monitor the service's health; it just informs whether the server is currently known to be running and reachable. If you need to know about the service's precise health, then you need to use the Health service, via RPCs. But this is generally expected to be rare, except by load balancers (and not by clients using load balancers).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With