Retry Pattern

Architecture 🟢 Junior

Definition

Retente automatiquement une operation echouee avec un delai croissant (backoff exponentiel). Gere les erreurs transitoires.

Analogie

Rappeler quelqu'un qui ne repond pas : tu attends 1 min, puis 5 min, puis 15 min avant de reessayer.

Exemple de code

async function retry(fn, attempts = 3) {
  for (let i = 0; i < attempts; i++) {
    try { return await fn(); }
    catch(e) { await sleep(2 ** i * 1000); }
  }
  throw new Error('Max retries reached');
}

Cas d'usage

Appels reseau, envoi d'emails, operations cloud avec erreurs transitoires.

Anti-pattern

Retry sans backoff ni limite — bombarder un service deja en difficulte.

Termes lies

#architecture#interview#resilience