Problem
A failing dependency causes callers to hang, exhaust resources (threads, connections), and fail themselves — cascade.
Also known as: circuit-breaker-pattern
Prevent cascading failures by stopping requests to a failing service, giving it time to recover.
A failing dependency causes callers to hang, exhaust resources (threads, connections), and fail themselves — cascade.
None — library-level
Low — monitor open/closed transitions
Medium — understand state transitions
Thundering herd on half-open if too many callers test simultaneously
Stuck open if timeout too short for actual recovery
Stuck closed if failure threshold never reached (e.g., slow failures)