The Circuit Breaker pattern is a software design pattern that prevents a system from repeatedly attempting an operation that is likely to fail, allowing it to fail fast and degrade gracefully. Inspired by electrical circuit breakers, it monitors for failures and, when a threshold is exceeded, "trips" to open the circuit, temporarily blocking all requests to the failing service or agent. This prevents resource exhaustion and cascading failures, giving the downstream component time to recover.
