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