Last Updated: June 12, 2026
Remote calls fail in ways local function calls do not. A dependency can return errors, time out, throttle requests, or become so slow that callers run out of threads and connection pools while waiting.
The dangerous failure is amplification. Callers wait, resources fill, retries add more traffic, and the slowdown spreads into services that were otherwise healthy.
The Circuit Breaker pattern wraps a risky operation and decides whether calls should be attempted. When failure or latency crosses a threshold, the breaker opens and rejects new calls quickly before trying limited probe traffic later.
The pattern does not make a broken dependency healthy. It protects the caller, gives the dependency room to recover, and forces the system to degrade deliberately.