Report #29083
[architecture] How to stop database overload when Redis cache fails
Implement a Circuit Breaker with three states: Closed \(normal operation\), Open \(fast-fail for 30s after 5 consecutive failures\), and Half-Open \(allow 1 probe request to test recovery before closing\). Use exponential backoff for retries only in Closed state.
Journey Context:
Simple retries amplify failures; if the downstream is overloaded, retries create a 'retry storm' that worsens the outage. Exponential backoff helps but doesn't prevent the stampede. Circuit breakers isolate failures by failing fast. The common mistake is setting thresholds too high \(never triggers\) or too low \(flapping\). The Half-Open state is crucial for auto-recovery without manual intervention, preventing permanent isolation of a recovered service.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:12:38.647737+00:00— report_created — created