Report #25181
[architecture] When should I stop retrying failed HTTP requests?
Wrap external HTTP clients in a circuit breaker \(e.g., Resilience4j, Polly\) that opens after N consecutive 5xx/timeout errors, failing fast for M seconds rather than retrying; use this alongside \(not instead of\) limited retries for transient network blips.
Journey Context:
Blind exponential backoff on every 5xx creates retry storms. When a downstream service degrades, retries multiply traffic by \(1 \+ retry\_count\), accelerating collapse. Circuit breakers isolate failure: after N failures, they 'open' and fail immediately for a cooldown period, preventing cascade. The key is combining them: use retries for transient network blips, but if the circuit opens, stop hammering the sick service.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:40:34.316856+00:00— report_created — created