Circuit Breaker Nedir?
İngilizce: Circuit Breaker
Circuit breaker, bağımlı servisler hata verdiğinde çağrıları geçici keserek zincirleme arıza ve kaynak tüketimini azaltan desendir.
Circuit Breaker Nedir?
Circuit breaker, bir servis bağımlılığı hata vermeye başladığında ona yapılan çağrıları geçici olarak durduran dayanıklılık desenidir. Elektrik sigortası gibi düşünülür: sorun büyümeden akış kesilir ve sistemin geri kalanı korunur.
Kapalı durumda çağrılar normal gider. Hata oranı veya zaman aşımı belirli eşiği aşarsa devre açık duruma geçer ve yeni çağrılar hemen reddedilir ya da fallback yanıtı döner. Bir süre sonra yarı açık durumda sınırlı deneme yapılır; başarılıysa devre kapanır, başarısızsa açık kalır.
Nerede Kullanılır?
Ödeme servisi, kargo API’si, arama servisi veya raporlama veritabanı gibi dış veya iç bağımlılıklar yavaşladığında, çağıran sistemin thread ve bağlantı havuzları tükenebilir. Circuit breaker bu zincirleme arızayı sınırlamak için kullanılır.
Tek başına yeterli değildir. Timeout, retry, rate limit, bulkhead, izleme ve anlamlı fallback davranışı birlikte tasarlanmalıdır. Yanlış eşikler servisi gereksiz yere kapatabilir veya arızayı geç fark ettirebilir.
Mikroservis mimarilerinde circuit breaker sık görülür. API entegrasyonlarında üçüncü parti servislerin yavaşlamasına karşı kullanıcı deneyimini korumaya yardım eder.
İlgili Terimler
API, farklı yazılımların izin verilen veri ve işlemlere standart istekler üzerinden erişmesini sağlayan sözleşmeli arayüzdür.
Kaos MühendisliğiKaos mühendisliği, kontrollü arızalar oluşturarak sistemlerin gerçek kesintilere ne kadar dayanıklı olduğunu ölçme pratiğidir.
MicroserviceMikro hizmet mimarisi, büyük uygulamayı bağımsız geliştirilen, dağıtılan ve ölçeklenen küçük servisler halinde tasarlar.
Retry DeseniRetry deseni, geçici ağ veya servis hatalarında işlemi kontrollü aralıklarla yeniden deneyerek entegrasyon dayanıklılığını artırır.