Middle — Middle+
Güvenilirlik sistemlerinde Circuit Breaker bileşeninin çalışma prensibi ve amacı nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Circuit Breaker bileşeni, dağıtık sistemlerin güvenilirliğini artırmak için kullanılır, çalışmayan bir hizmeti tekrar tekrar çağırma girişimlerini önler ve sistem üzerindeki yükü azaltır.
Çalışma prensibi:
- Kapalı durumda: Tüm istekler normal şekilde geçer.
- Açık durumda: Hata sayısı eşik değerini aşarsa, Circuit Breaker «açılır» ve sonraki istekleri engeller, hemen bir hata veya alternatif yanıt döner.
- Yarı açık durumda: Açıldıktan sonra bir süre sonra, hizmetin iyileşip iyileşmediğini kontrol etmek için sınırlı sayıda istek izin verir.
İstekler başarılı olursa, tekrar kapalı duruma geçer, aksi takdirde tekrar açılır.
Bu, çökmüş hizmet üzerindeki aşırı yükü önler ve iyileşme için zaman tanır, sistemin genel dayanıklılığını artırır.
Go dilinde örnek (basitleştirilmiş):
// Pseudokod
cb := NewCircuitBreaker(3, time.Minute) // 3 hata - 1 dakika açık kalır
if cb.AllowRequest() {
err := callRemoteService()
if err != nil {
cb.RecordFailure()
} else {
cb.RecordSuccess()
}
} else {
// Hızlıca hata döndür, hizmet erişilebilir değil
}