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.