⏱️
Resilience & Fault Tolerance

Retry & Timeout Patterns

Handling Transient Failures
💡 Retry, pattern, EK, "REDIAL" karne, jaisa, hai, jab, EK, PHONE, CALL, DROP, ho, jaaye — LEKIN, AGAR, TUM, CONTINUOUSLY, REDIAL, karte, RAHO, BINA, GAP, ke, TUM, KHUD, hi, PHONE, LINE, ko, OVERWHELM, kar, sakte, HO — isliye, "EXPONENTIAL, BACKOFF" (GROWING, WAIT, TIME) IMPORTANT, hai.

TRANSIENT, failures, (jaise, EK, MOMENTARY, network, glitch) RETRY, se, RESOLVE, ho, sakte, HAIN — LEKIN, RETRY, LOGIC, "exponential, backoff" (HAR, retry, ke, BEECH, WAIT, TIME, BADHANA) ke, saath, hona, CHAHIYE, taaki, EK, STRUGGLING, service, PAR, MORE, LOAD, na, PADE.

TIMEOUTS, ZAROORI, HAIN, taaki, EK, SLOW, downstream, service, POORE, system, ko, INDEFINITELY, "HANG" na, kar, de — AGGRESSIVE, TIMEOUTS, (jaise, 2, seconds) SLOW, services, se, RESOURCES, ko, FASTER, FREE, karте, HAIN.

async function callWithRetry(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await Promise.race([fn(), timeout(2000)]);
    } catch (err) {
      await sleep(Math.pow(2, i) * 1000);   // exponential backoff: 1s, 2s, 4s
    }
  }
  throw new Error("Max retries exceeded");
}
⏱️
Retry, pattern, EK, "REDIAL" karne, jaisa, hai, jab, EK, PHONE, CALL, DROP, ho, jaaye — LEKIN, AGAR, TUM, CONTINUOUSLY, REDIAL, karte, RAHO, BINA, GAP, ke, TUM, KHUD, hi, PHONE, LINE, ko, OVERWHELM, kar, sakte, HO — isliye, "EXPONENTIAL, BACKOFF" (GROWING, WAIT, TIME) IMPORTANT, hai.
1 / 2
⚡ Quick Recap
  • Retry pattern, transient, failures, ke, liye — exponential, backoff, ke, saath
  • Timeouts, HANGING, requests, se, bachate, hain
  • Sirf, transient, errors, (503, timeouts) ko, retry, karo — 400s, ko, nahi
Is page mein (2 subtopics)

"Jitter" (RANDOM, VARIATION) exponential, backoff, mein, ADD, karна, IMPORTANT, hai — bina, jitter, ke, MULTIPLE, clients, SAME, TIME, PAR, retry, kar, sakte, hain (jaise, saare, EK, saath, 1s, 2s, 4s, PAR, retry), EK, "THUNDERING, HERD" create, karte, hue.

const delay = Math.pow(2, i) * 1000 + Math.random() * 1000;   // jitter, added

Agar, EK, request, MULTIPLE, services, se, GUZARTA, hai, HAR, service, ka, OWN, timeout, ho, sakta hai — LEKIN, EK, "TIMEOUT, BUDGET" (TOTAL, allowed, time, POORI, chain, ke, liye) PLAN, karna, ZAROORI, hai, taaki, individual, timeouts, ka, SUM, EK, REASONABLE, TOTAL, se, ZYAADA, na, ho.