F'sistema distribwita, kollox eventwalment jifal. Il-mudelli ta' reżiljenza jwaqqfu l-falliment wieħed minn kaskada fi outage sħiħ.
F'sistema distribwita, kollox eventwalment jifal. Il-mudelli ta' reżiljenza jwaqqfu l-falliment wieħed minn kaskada fi outage sħiħ.
const breaker = new CircuitBreaker(callPaymentService, {
timeout: 3000, // fail the call after 3s
errorThresholdPercentage: 50, // open if >50% of calls fail
resetTimeout: 10000 // after 10s, try one request (half-open)
});
breaker.fallback(() => ({ status: 'queued' })); // graceful degradation
CLOSED ──(failures exceed threshold)──▶ OPEN
▲ │ (after resetTimeout)
│ (trial succeeds) ▼
└────────────── HALF-OPEN ◀──────────────┘
(one trial request)
[ pool A: 10 threads ] → payment calls
[ pool B: 10 threads ] → search calls
If search hangs, it drains pool B only — payments keep working.
Retries mingħajr backoff jammifikaw il-load fuq servizz li diġà qed itkompla (storm ta' retry). Dejjem żid backoff, jitter, u kap ta' retry.
Dawn il-mudelli huma dawk li jduru falliment inevitabbli ta' servizz wieħed f'feature degraded minflok outage situs-wes.
Huma jaħdmu flimkien: timeouts bound stennija, circuit breaker jwaqqfu l-hammering ta' servizzi mejta, bulkheads iċ-ċirku tal-blast, u retries jirrepara minn blips — ittroka waħda u l-fallimenti għadhom kaskadi.