Circuit breaker (ops)
A resilience pattern that "breaks the circuit" to a dependency that has started failing — stops calling it and fails fast instead of hanging on timeouts. It protects against cascading failures where a broken dependency drags down everything that calls it. Named after an electrical fuse.
Mechanic: the breaker has three states. Closed (normal — calls pass through, failures are counted); if the failure rate exceeds a threshold it flips to Open (all calls are rejected immediately, "fail fast", without even trying — the dependency gets breathing room and the caller avoids hanging on timeouts). After a while it goes to Half-open (let a couple of test calls through): if they succeed → back to Closed, if they fail → Open again. The problem it solves: without a breaker, all callers keep hammering a dying service and block on timeouts → threads/resources run out → the failure spreads upward (cascade). Implemented in code (Resilience4j, Polly) or by a service mesh. Tightly tied to retries, timeouts, bulkhead. A cornerstone of microservice resilience. Related to bulkhead pattern and backpressure (ops).