Sitemap

Member-only story

Circuit Breaker Pattern Nedir?

5 min readFeb 11, 2021

--

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.

Press enter or click to view image in full size

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…

--

--

Gökhan Ayrancıoğlu
Gökhan Ayrancıoğlu

Written by Gökhan Ayrancıoğlu

Software Engineer & Team Lead • #Java • #Spring Boot • #Kotlin • #Microservices • https://gokhana.dev