Circuit Breaker

A circuit breaker is a general software engineering design pattern used to improve the resilience and stability of distributed systems. It prevents cascading failures by monitoring the calls to external services, like APIs, databases, or microservices. When a service fails repeatedly, the circuit breaker triggers and stops further calls to that service for a predefined period, allowing the target system to recover, and the local one to report the unavailability without running wild on wrong reported values.

After the timeout, it may allow a limited number of test calls to see if the service has recovered.

See also CircuitBreaker, Circuit Breaker Pattern in PHP, PHP Circuit Breaker Pattern – Build Resilient, Fault-Tolerant Systems, Implementing the Circuit Breaker Pattern in PHP and Simple Circuit Breaker pattern implementation in PHP.

Related : Feature Flag, Downtime, Availability, Quality of Service (QoS), Reliability, Service Level Agreement (SLA)

Related packages : ackintosh/ganesha, prestashop/circuit-breaker, ejsmont-artur/php-circuit-breaker