Skip to content

7.3. Failure Detection and Membership Protocols

Before you can react to a failure, you have to detect it — and in an asynchronous network you cannot distinguish a crashed node from a slow one. Every failure detector is a bet on that ambiguity: too aggressive and you evict healthy nodes under load, too patient and you serve requests to the dead. This chapter covers heartbeats and the timeout science behind them, gossip protocols that scale membership without a central monitor, the phi-accrual detector that treats failure as a probability, and the liveness-versus-readiness distinction that trips up every Kubernetes operator.