Architecture

Circuit breaker

A state machine that fails fast after a downstream is unhealthy.


In plain terms

Closed → Open → Half-open. Stops you from beating up an already-broken service. Hystrix popularised it; Resilience4j is the modern Java incarnation.

Origin

Michael Nygard introduced the term in "Release It!" (2007). Netflix Hystrix (2012) made it the default microservices pattern; Resilience4j replaced it after Hystrix went into maintenance in 2018.

Where it shows up in production
  • Netflix Hystrix The original library. Dominant for ~6 years, now archived but still widely deployed.
  • Resilience4j Modern Java circuit breaker; default in Spring Cloud since 2019.
  • Envoy circuit breakers Per-cluster connection / pending / retry limits at the proxy level.
On Semicolony
Sources & further reading
Found this useful?