2017-09-06 2 views
1

In Bezug auf gRPC Health Checking, wenn ein gRPC-Dienst auf dem gleichen Port wie andere HTTP-Dienste gehostet wird, die auch eine Gesundheitsüberprüfung benötigen, sollten die Antworten auf grpc.health.v1.Health.Check nur für gRPC-Dienste bereitgestellt werden, oder ist es sinnvoll, auch über andere Dienste als zu antworten Gut? Wenn letzteres, welches Modell für Dienstnamen sollte verwendet werden?Sollte die gRPC-Gesundheitsprüfung auf gRPC-Dienste beschränkt sein?

ich teilweise fragen, weil es bereits ein /healthz model for Kubernetes health checking und ich versuche, herauszufinden, ob wir brauchen eine Ligatur an die gRPC Gesundheitsprüfung zur Verfügung zu stellen, oder könnte die bestehende Gesundheitsprüfung convolve zB

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

solche dass der Bestands-gRPC-Gesundheitscheckmonitor so verwendet werden könnte.

Antwort

1

gRPC-Gesundheitscheck teilt Schicksal mit gRPC-Server, weil es eine gRPC-Methode an sich ist. Wenn der gRPC-Server mit Ihren anderen Diensten überlebt oder das Schicksal teilt, dann denke ich, dass es in Ordnung ist, den gRPC-Gesundheitsüberprüfungsdienst zu verwenden, um den Status anderer Dienste zu bedienen.

Mir ist keine offizielle Unterstützung für die Freigabe eines Ports zwischen dem gRPC-Server und anderen Servern in C++, Java oder Go bekannt. Ich bin mir nicht sicher, welche Einstellung Sie denken, aber die allgemeine Idee oben gilt.

Verwandte Themen