Health Check
An endpoint the platform polls to decide whether an instance should be restarted or should receive traffic — two different questions needing two different checks.
Liveness answers "is this process broken beyond recovery?" and its consequence is a restart. It must test only the process itself. A liveness check that calls the database will fail every instance during a database incident, the platform will restart all of them, and a degradation becomes an outage caused by the monitoring.
Readiness answers "can this instance serve right now?" and its consequence is removal from the load balancer. This one may check dependencies, and it should also return false during warm-up and during graceful shutdown — the latter is what stops a deployment dropping in-flight requests.
A third, startup, gives slow-booting applications a longer grace period so liveness does not kill them before they finish initialising.
Keep checks cheap: they run every few seconds against every instance, so an expensive check is a self-inflicted load, and it should not share the connection pool with real traffic.