Retry, Exponential Backoff e Jitter
Ritentare solo errori transitori e operazioni idempotenti, usando exponential backoff, jitter e un numero massimo di tentativi.
Il problema
Errori temporanei possono risolversi rapidamente, ma retry simultanei e aggressivi possono trasformare un degrado in una retry storm.
Il pattern
Ritentare solo errori transitori e operazioni idempotenti, usando exponential backoff, jitter e un numero massimo di tentativi.
Come funziona
Il retry deve rispettare la deadline globale ed essere coordinato con circuit breaker. Non si deve ritentare su 4xx semantici o comandi non idempotenti senza chiave.
Esempio sanitario
Benefici
- Recupera failure transitori
- Riduce carico sincronizzato con jitter
- Migliora disponibilità
Trade-off
- Può moltiplicare il carico
- Rischio duplicati
- Aumenta latenza percepita
Quando usarlo
Per errori chiaramente transitori e operazioni idempotenti.
Quando evitarlo
Per errori deterministici, validation failure o senza budget di tempo.
Pattern correlati
RIFERIMENTI
Fonti e riferimenti
Capsule Informatiche · Materiale progettuale
Capsule Informatiche · Materiale progettuale
