Member-only story
Circuit Breaker Pattern Nedir?
Circuit Breaker Pattern, bir yazılımda hataları tespit ederek hatanın tekrar etmemesini sağlar. Böylece sistemde hataların tekrar etmesi sonucu oluşacak bloklanma, hizmet kesintileri, aşırı kaynak kullanımı gibi sorunlarla karşılaşılmasını önleyerek, sistemin sağlıklı çalışmasını amaçlar.
Yazılım sistemlerinde farklı servis veya sistemlere istekte bulunmak/çağrı yapmak oldukça sık kullandığımız bir yöntemdir. Microservice mimarisindeki servisler arası senkron iletişim de buna dahil edilebilir. Özellikle çoğu kurumsal yazılım sisteminde Saas, CRM, SAP gibi birçok sisteme entegre olma çoğu yazılımın kaderi haline geliyor. Böyle bir yapıda hizmet aldığımız servis ya da sistem üzerinde oluşabilecek farklı sorunlarla karşı karşıya kalabiliyoruz.
- Oluşturulan isteklerin başarısız olması,
- İstek atılan servis ya da sistemin ayakta olmaması
- İstek atılan servisin geç cevap vermesi/timeout durumuna düşmesi
gibi durumlarda sorunların arka arkaya tekrar etmesi daha büyük sorunlara yol açmaktadır. İstekte bulunulduğunda yanıt vermeyen bir servis çok sayıda çağrının birikmesi sonucu yığılmaya dolayısıyla threadlerin bloklanmasına, aşırı kaynak tüketimine ve bütün bunların sonucunda servisinizin yanıt veremez konuma gelmesine yani hizmet kesintilerine neden olabilir. Böyle bir durumda istek atılan servis…
