Devre Kesici (Circuit Breaker)
Sistem Analizi
Normal Davranış
Üç ayrı durumu korur: Kapalı (istekler normal akar, hata sayıları izlenir), Açık (istekler uzak bağımlılığı çağırmadan derhal başarısız olur, hızlı bir geri dönüş (fallback) veya hata döndürür) ve Yarı Açık (uzak hizmetin kurtarılıp kurtarılmadığını test etmek için küçük bir deneme yüzdesine izin verir). Alt yönlü (downstream) hata oranları yapılandırılmış bir eşiği aştığında, şalter Açık konumuna geçer ve zorlanan bağımlılığı korur.
Çöküş Davranışı
Aşırı agresif hata eşikleri, geçici ağ kesintileri (network blips) sırasında devre kesiciyi (circuit breaker) tetikler ve sıfırlamayı reddeden aşırı uzun bir kurtarma zaman aşımıyla, 200 milisaniyelik bir aksaklığı saatler süren ve müşteriye yansıyan bir kesintiye (outage) dönüştürür.
İş Sonuçları
Bir devre kesici, alt yönlü bir kesinti sırasında açılmadığında, üst yönlü (upstream) hizmetlerdeki iş parçacığı havuzları (thread pools) bozulan bağımlılıkları sonsuza kadar beklerken tükenir. Bu, yerelleştirilmiş bir mikro hizmet arızasını kurumsal çapta kademeli bir kesintiye dönüştüren, nihayetinde müşteri güvenini paramparça eden ve küresel erişilebilirlik (availability) garantilerini ihlal eden dağıtılmış bir kilitlenmeye (distributed deadlock) neden olur.
Görsel Tezahür
"Uygulama performans izleme (application performance monitoring - APM) dağıtılmış izleri (distributed traces), günlüklerdeki (logs) Java iş parçacığı havuzu tükenme istisnalarıyla birlikte, hizmet ağı (service mesh) boyunca yukarı doğru kademeli olarak ilerleyen kalın, kırmızı senkronize bekleme süreleri bantlarını gösterir."
Satirical Behavior
"A digital fuse box designed to protect the system, which engineers usually configure with timeouts so generously long that the building burns down before the breaker actually trips."
Bilinen İsimler
Teknik Terminoloji
Hata Göstergeleri
Sistem Mimarisi
Kullanan Karakterler
FAQ
Normalde nasıl davranır?
Üç ayrı durumu korur: Kapalı (istekler normal akar, hata sayıları izlenir), Açık (istekler uzak bağımlılığı çağırmadan derhal başarısız olur, hızlı bir geri dönüş (fallback) veya hata döndürür) ve Yarı Açık (uzak hizmetin kurtarılıp kurtarılmadığını test etmek için küçük bir deneme yüzdesine izin verir). Alt yönlü (downstream) hata oranları yapılandırılmış bir eşiği aştığında, şalter Açık konumuna geçer ve zorlanan bağımlılığı korur.
Nasıl çöker?
Aşırı agresif hata eşikleri, geçici ağ kesintileri (network blips) sırasında devre kesiciyi (circuit breaker) tetikler ve sıfırlamayı reddeden aşırı uzun bir kurtarma zaman aşımıyla, 200 milisaniyelik bir aksaklığı saatler süren ve müşteriye yansıyan bir kesintiye (outage) dönüştürür.
İş sonuçları nelerdir?
Bir devre kesici, alt yönlü bir kesinti sırasında açılmadığında, üst yönlü (upstream) hizmetlerdeki iş parçacığı havuzları (thread pools) bozulan bağımlılıkları sonsuza kadar beklerken tükenir. Bu, yerelleştirilmiş bir mikro hizmet arızasını kurumsal çapta kademeli bir kesintiye dönüştüren, nihayetinde müşteri güvenini paramparça eden ve küresel erişilebilirlik (availability) garantilerini ihlal eden dağıtılmış bir kilitlenmeye (distributed deadlock) neden olur.
How does combining Circuit Breakers with the Bulkhead pattern protect microservice thread pools?
A Circuit Breaker stops calls once failure thresholds are met, but during the initial degradation period, pending requests can still block threads. The Bulkhead pattern assigns dedicated, isolated thread pools or semaphores per dependency, preventing a slow downstream service from exhausting threads needed by healthy services.
What is the danger of setting identical Circuit Breaker timeout thresholds across all microservice tiers?
If upstream and downstream services have identical timeout thresholds, racing network conditions cause upstream callers to time out and record a failure just as the downstream service finishes processing, triggering false-positive circuit breaker trips and wasted computation across the call chain.
Sistemi keşfet
AI özeti
Circuit Breaker is a RELIABILITY system in TinyCTO.tv. Maintains three distinct states: Closed (requests flow normally, error counts monitored), Open (requests fail immediately without calling the remote dependency, returning a fast fallback or error), and Half-Open (allows a small trial percentage of requests through to test if the remote service has recovered). When downstream error rates exceed a configured threshold, the breaker trips to Open, shielding the struggling dependency.
