3

关于gRPC 健康检查,如果 gRPC 服务与同样需要健康检查的其他 HTTP 服务托管在同一端口上,那么响应是否grpc.health.v1.Health.Check应该仅针对提供的 gRPC 服务,或者也回答其他服务是否合理? 如果是后者,应该使用什么模型的服务名称?

我问的部分原因是已经有一个/healthzKubernetes 健康检查的模型,并且我试图弄清楚我们是否需要为 gRPC 健康检查提供一个连字,或者可以对现有的健康检查进行卷积,例如,

import "google.api.http";
…
rpc Check(HealthCheckRequest) returns (HealthCheckResponse) {
  option (google.api.http) = { get: "/healthz" }
}

这样就可以使用库存的 gRPC 健康检查监视器。

4

1 回答 1

1

gRPC 健康检查与 gRPC 服务器共享命运,因为它本身就是一个 gRPC 方法。如果 gRPC 服务器比您的其他服务寿命更长或与您的其他服务共享命运,那么我认为使用 gRPC 健康检查服务来服务其他服务的状态是可以的。

我不知道官方支持在 gRPC 服务器和 C++、Java 或 Go 中的其他服务器之间共享端口。我不确定你在想什么设置,但上面的一般想法适用。

于 2017-11-02T21:49:51.267 回答