Intermediate Topic 30 of 51 Distributed Systems & Cloud
Failure Detectors
Mechanisms suspecting crashed nodes.
How it works
A failure detector is a component that tells a node which other nodes it suspects to have failed. In asynchronous systems, you cannot distinguish a crashed node from a slow one, so detectors are unreliable and are characterized by completeness, whether faulty nodes are eventually suspected, and accuracy, whether correct nodes are not wrongly suspected. Implementations use heartbeats with timeouts, ping and ping-request as in SWIM, and adaptive detectors such as the phi accrual detector, which outputs a suspicion level from observed inter-arrival times.
Where it is used
Cluster membership, leader election, load balancers' health checks, consensus liveness and distributed databases rely on failure detection.
Common pitfall
Timeouts too short cause false positives, triggering needless failovers and thrashing, while too long delay recovery. Garbage collection pauses, network congestion and clock issues look like failures. A suspected node might still be running, so fencing is needed to prevent it from acting. Tune thresholds from measured latency and combine multiple observers' opinions.
Where it fits in the course
Failure Detectors is topic 30 of 51 in Distributed Systems & Cloud, rated Intermediate. It follows Gossip Protocols. The next topic is Byzantine Fault Tolerance.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Distributed Systems & Cloud quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Distributed Systems & Cloud quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Failure Detectors?
Where do people use Failure Detectors?
What is the most common mistake with Failure Detectors?
What should I learn before this topic?
How can I practice it?
Is Failure Detectors hard to learn?
How long does it take to learn Failure Detectors?
Which topics are related to Failure Detectors?
What should I study after Failure Detectors?
Related topics
- Gossip Protocols (Distributed Systems & Cloud)
- Byzantine Fault Tolerance (Distributed Systems & Cloud)
- Distributed Hash Tables (Distributed Systems & Cloud)
- Distributed File Systems (Distributed Systems & Cloud)