Woher kommt die Konvention, / healthz für Anwendungsgesundheitsprüfungen zu verwenden?

140

Im Kubernetes / Docker-Ökosystem gibt es eine Konvention zur Verwendung /healthzals Endpunkt für die Integritätsprüfung für Anwendungen.

Woher kommt der Name 'healthz' und gibt es eine bestimmte Semantik, die mit diesem Namen verbunden ist?

Andy Hume
quelle

Antworten:

178

Es stammt historisch aus den internen Praktiken von Google. Sie heißen "Z-Seiten".

Der Grund dafür zist, dass Kollisionen mit tatsächlichen Anwendungsendpunkten mit demselben Namen (wie /status) reduziert werden . Weitere Informationen finden Sie in diesem Vortrag: https://vimeo.com/173610242

Ähnliche Endpunkte (zumindest innerhalb von Google) sind /varz, /statusz, /rpcz. Bei Google entwickelte Dienste erhalten diese Endpunkte automatisch zum Exportieren ihres Zustands und ihrer Metriken. Es gibt Tools, mit denen die verfügbaren Metriken / Status aller bereitgestellten Dienste erfasst werden.

Open-Source-Tools wie Prometheus implementieren dieses Muster (da die ursprünglichen Autoren von Prometheus auch Ex-Googler sind), indem sie zu einem bekannten Endpunkt gelangen, um Metriken aus Ihrer Anwendung zu sammeln. In ähnlicher Weise können Sie mit OpenCensus Z-Seiten aus Ihrer App (idealerweise an einem anderen Port) verfügbar machen, um Probleme zu diagnostizieren.

AhmetB - Google
quelle
Go expvar golang.org/pkg/expvar ist ziemlich nah an / varz
ptman
@ AhmeB: Danke für den Videolink. es hilft mir, etwas mehr über Gesundheit zu verstehen
Gatsby Lee