Dağıtık sistemlerde çağrılar başarısız olur. Backoff ile retry mekanizması geçici hataları kurtarır; circuit breaker sizi gerçekten çökmüş bir bağımlılığı ezmeye karşı korur. Birbirini tamamlar: geçici hatalardan geri kurtul, kesintide aç.
Dağıtık sistemlerde çağrılar başarısız olur. Backoff ile retry mekanizması geçici hataları kurtarır; circuit breaker sizi gerçekten çökmüş bir bağımlılığı ezmeye karşı korur. Birbirini tamamlar: geçici hatalardan geri kurtul, kesintide aç.
Geçici başarısızlıklar için (timeout, kısa ağ kesintileri, 503'ler), retry yapın — ancak exponential olarak backoff yapın ve jitter ekleyin böylece retry'lar yayılır ve senkronize bir thundering herd'e dönüşmez.
attempt 1 → wait ~1s (+ random jitter)
attempt 2 → wait ~2s (+ random jitter)
attempt 3 → wait ~4s (+ random jitter)
→ cap at maxRetries (e.g. 3) and a max delay → don't retry forever
Önemli dikkat noktaları:
Bir circuit breaker bir bağımlılığa yapılan başarısızlıkları izler ve threshold'dan sonra açık hale gelerek — hızlı bir şekilde başarısız olur (veya fallback döndürür) ölü bir servise çağrı yapmak yerine. Bir cooldown'dan sonra kurtarılmayı araştırmak için half-open durumuna gider.
CLOSED → calls pass through; count failures
too many failures → trip → OPEN
OPEN → fail fast immediately (no call); start cooldown timer
cooldown elapsed → HALF-OPEN
HALF-OPEN → allow a few probe calls
success → CLOSED (recovered) ; failure → back to OPEN
Retry → transient, likely-to-succeed-soon errors (1 slow call)
Circuit breaker → repeated/sustained failures (the dependency is down)
→ use together: breaker prevents retries from piling onto a dead service
Bunlar olmadan başarısız olan bir bağımlılık çağıranı da onunla birlikte çökertirir: request'ler timeout'a yığılır, retry'lar yükü artırır ve hata servisler arasında yayılır. Jitter ile exponential backoff geçici hataların geri kurtarılmasını sağlar retry fırtınası olmadan; cap ve idempotency retry'ları güvenli tutar; ve circuit breaker ölü bir bağımlılık üzerinde kaynak israfını durdurur ve onun kurtarılması için yer açar. Birlikte, bir bağımlılık başarısızlığını kontrollü, kendini iyileştiren bir olaya dönüştürürler.
Junior'dan Senior'a detaylı cevaplarla bir BT mülakat soruları kütüphanesi.
Bağış Yap