A cikin tsarin rarraba, kome ya kasa a ƙarshe. Shirye-shiryen jari'a suna tsayar da kaikarwa guda daga yadda ya bazu zuwa bugi gaba ɗaya.
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 ba tare da backoff ƙara nauyin aikin da ya nada (guguwa kaikarwa). A koyaushe ƙara backoff, jitter, da cap kaikarwa.
Wannan shirye-shiryen ne ke juya kaikarwa na gida na rashin daidai zuwa wani halaqa da aka lalata maimakon kaikarwar gida-game.
Suna aiki tare: timeouts suna iyakance jira, circuit breakers suna tsayar da bugi saitin da suka mutu, bulkheads suna shigawa radius fashe, da kuma retries suna komawa daga bame — bari ko ɗaya kuma kaikarwa har ma suna yaɗuwa.
Ɗakin karatu na tambayoyin hira na IT tare da amsoshi cikakke — daga Junior zuwa Senior.
Ba da Gudummawa