Health Checks That Actually Work: Liveness vs Readiness vs Startup Probes
"Deploying a service that crashes during its warm-up window is a guaranteed outage until your liveness probes detect and restart it." What We're Building We are implementing a Go-based backend serv...

Source: DEV Community
"Deploying a service that crashes during its warm-up window is a guaranteed outage until your liveness probes detect and restart it." What We're Building We are implementing a Go-based backend service that adheres to strict observability standards within a Kubernetes environment. The goal is to distinguish between the time an application spins up, the time it accepts traffic, and the time it detects internal deadlocks. We will use three distinct HTTP endpoints to signal different states to the orchestrator. This architecture prevents traffic from hitting a pod that cannot serve requests, while allowing the orchestrator to restart a frozen process without dropping in-flight connections. Startup Probe: [--- Waiting ---] -> Ready to Accept Readiness Probe: [--- Idle ---] -> [--- Serving ---] Liveness Probe: [--- Running ---] -> [--- Crash ---] Step 1 — Startup Probe Implementation The startup probe tells the orchestrator to ignore traffic checks until the application has initiali