Circuit breaker
Circuit breaker, arızalı hizmete yapılan çağrıları keser; daha sonra sınırlı deneme çağrılarıyla toparlanmayı kontrol eder.
Circuit breaker, uygulamanın arızalı bir bağımlı hizmeti sürekli çağırmasını sınırlayan koruma mekanizmasıdır. Belirlenmiş hata türlerini değerlendirerek yeni çağrıların iletilip iletilmeyeceğine karar verir. Belirli bir bekleme aşamasından sonra sınırlı deneme çağrılarıyla hizmetin toparlanması kontrol edilebilir.
Üç durum, farklı çağrı izinleri
closed durumunda çağrılar normal şekilde geçer. open durumunda ilgili hizmete iletilmeden reddedilir. half-open yalnız sınırlı deneme çağrılarına izin verir; sonuçlarına göre yeniden çağrılar kesilir veya normal çalışmaya dönülür.
Kurgusal bir müşteri portalının PDF rapor hizmeti arızalanır. Açılmış circuit breaker bu hizmete yeni çağrıları engeller; portal hizmetin geçici olarak kullanılamadığını gösterir. Bu mekanizma rapor işini kendiliğinden kuyruğa kaydetmez ve hizmeti onarmaz.
Ekip hata türlerini, değerlendirme penceresini, eşiği, bekleme aşamasını ve alternatif davranışı belirler. Timeout tek çağrının süresini sınırlar; retry yeni bir deneme başlatır. Circuit breaker ise çağrının iletilmesine karar verir. Bu mekanizmalar birlikte kullanılabilir; kuralları birbirine uyumlu olmalıdır.
Kaynaklar
İlgili terimler
- Tekrar deneme stratejisiTekrar deneme stratejisi hangi hatada, ne kadar bekleyerek ve hangi sınıra kadar yeniden deneneceğini belirler.
- Üstel geri çekilmeÜstel geri çekilme, yeniden denemeler arasındaki bekleme süresini belirlenmiş üst sınıra kadar katlayarak artırır.
- Server-Sent EventsServer-Sent Events, arka plan işinin ilerlemesi gibi metin bildirimlerini HTTP bağlantısıyla sunucudan istemciye taşır.
- ETagETag, HTTP kaynağının belirli bir gösterim sürümünü tanımlar; koşullu okuma veya değişiklik isteklerinde kullanılır.
- Cross-Origin Resource SharingCORS, tarayıcıda farklı origin’den gelen yanıtların okunmasını düzenler. API’de oturum açmanın veya yetki kontrolünün yerini tutmaz.
- Elektronik veri değişimiEDI, yapılandırılmış iş belgelerini sistemler arasında aktarır. Biçim, iş ortağı profili, veri eşlemesi ve yanıtların birbiriyle uyumlu olması gerekir.
Projeniz ASES ile
Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.