EMZETT.
Login

Health Checks und Graceful Shutdown

Kurz: Ein Health Check ist ein Endpunkt, der meldet, ob ein Dienst gesund ist. Graceful Shutdown heißt, einen Dienst beim Beenden erst laufende Anfragen fertig bearbeiten zu lassen.

Genauer: Load Balancer und Orchestrierer (zum Beispiel Kubernetes) fragen regelmäßig den Health Check ab. Antwortet ein Server nicht, bekommt er keinen Verkehr mehr oder wird neu gestartet.

Im Detail

  • Liveness: Läuft der Prozess überhaupt? Wenn nein, neu starten.
  • Readiness: Ist der Dienst bereit für Verkehr (Datenbank verbunden, Cache aufgewärmt)? Wenn nein, vorübergehend aus der Verteilung nehmen.
  • Einfach halten: Ein Health Check sollte schnell sein und nicht selbst Last erzeugen.
  • Graceful Shutdown: Beim Signal SIGTERM keine neuen Anfragen annehmen, laufende fertig bearbeiten, Verbindungen schließen, dann beenden.
  • Zeitlimit: Nach einer Frist (zum Beispiel 30 Sekunden) folgt SIGKILL, das nicht abgefangen werden kann.

Siehe auch: Sticky Sessions