A cascading failure happens when the failure of one part of a system shifts its load onto the remaining parts, which then fail too, and so on. A modest fault becomes a widespread outage because each failure makes the next more likely.
Why it matters
Cascades are how many large outages unfold. Redundancy can make them worse: if four servers handle traffic and one dies, the other three take 33% more load. If they were already near their limit, they slow down, health checks fail, they are removed, and the survivors get even more traffic.
Retries amplify the effect. Clients that time out and try again multiply requests exactly when the system is weakest. Slow dependencies are especially dangerous because they hold connections and threads open instead of failing fast.
Example
A recommendations service slows down. The web tier waits 30 seconds on each call, its thread pool fills, and the whole site stops responding even though only one feature was broken. Timeouts of 500 ms, a circuit breaker and a fallback to a static list would have kept the page up.
Common mistakes
- Setting no timeouts, or very long ones, on calls to dependencies.
- Retrying without backoff and jitter.
- Running every server near capacity, leaving no headroom to absorb a lost node.
- Letting health checks depend on slow downstream services so healthy servers get ejected.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.