⚡ÖZET VE TEKNİK CEVAP
Devre Kesici (Circuit Breaker), çöken alt servisleri korumak için Kapalı durumdan Açık duruma geçerek hızlı hata verir; kritik Yarı-Açık (Half-Open) durumu ise iyileşmeyi test etmek için yıkıcı bir sürü istilası yaratmadan yalnızca az sayıda kontrollü deneme isteğine izin verir.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
Üretim sınıfı bir Devre Kesici (Resilience4j veya Envoy) üç farklı durum makinesi aşamasında çalışır:
- ▸
CLOSED (Kapalı - Normal): Tüm istekler geçer. Kayan bir pencerede (son 100 çağrı) hata oranı izlenir. Hata oranı eşiği (örn. >%50) veya yavaş çağrı oranı %70'i aşarsa devre
OPENdurumuna geçer. - ▸
OPEN (Açık - Hızlı Hata): Ağ bağlantısına dokunulmadan tüm çağrılar
CallNotPermittedExceptionile 0 ms'de hızlıca reddedilir ve geri dönüş (fallback) kodları çalışır. - ▸
HALF-OPEN (Yarı-Açık - Sınırlı Deneme): Bekleme süresi (15 saniye) dolunca devre
HALF-OPENolur.permittedNumberOfCallsInHalfOpenState = 10ayarlanır. Gelen binlerce istekten yalnızca 10 tanesine izin verilir, diğerleri hızlı hata almaya devam eder. 10 istek de başarılıysa devreCLOSEDdurumuna döner; biri bile başarısız olursa tekrarOPENdurumuna geçer.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaBir Devre Kesicide Yarı-Açık (Half-Open) durumunun birincil işlevi nedir?
Devre Kesici Yarı-Açık durumdayken deneme isteklerinden biri başarısız olursa ne olur?
Devre Kesici Yarı-Açık Durumu ve Sürü İstilası Koruması — Sıkça Sorulan Sorular
Bir ödeme ağ geçidi aşırı yük altında çöküyor. 30 saniyelik AÇIK durumdan sonra API'niz `permittedCalls = 5` ile YARI-AÇIK duruma geçiyor. Tam o saniyede gelen 500 eşzamanlı müşteri isteğine ne olur?
Sağlığı test etmek için ödeme ağ geçidine tam olarak 5 istek iletilirken, kalan 495 istek anında geri dönüş (fallback) yanıtı alır. Yarı-açık trafiğini küçük bir test kotasıyla sınırlamak, toparlanan servisin birikmiş müşteri yüküyle tekrar ezilmesini engeller.
Sürekli salınım yapan bir devre kesici (her 2 saniyede bir Açık ve Kapalı arasında gidip gelen) dağıtık sistemler için neden tehlikelidir?
Zorlanan alt servise aralıklı olarak ani trafik dalgaları göndererek toparlanmasını engeller ve kullanıcılara öngörülemez gecikme dalgalanmaları yaşatır. Salınım, alt servis önbelleklerinin ve bağlantılarının stabil şekilde ısınmasını engeller. Başarısız denemelerde açık kalma süresi üstel artırılmalıdır.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Devre Kesici (Circuit Breaker), çöken alt servisleri korumak için Kapalı durumdan Açık duruma geçerek hızlı hata verir; kritik Yarı-Açık (Half-Open) durumu ise iyileşmeyi test etmek için yıkıcı bir sürü istilası yaratmadan yalnızca az sayıda kontrollü deneme isteğine izin verir.
- ▸
Yarı-Açık (Half-Open) durumu, çöken alt bağımlılığın sağlığına kavuşup kavuşmadığını değerlendirmek amacıyla sisteme yalnızca sınırlı sayıda deneme isteğinin geçişine izin verilen test aşamasıdır.
Yaygın Yanılgılar
- ✗
Sınırlı bir YARI-AÇIK test aşaması olmadan doğrudan AÇIK'tan KAPALI'ya geçip anında sürü istilası çöküşünü tetiklemek.
Karar Kılavuzu & Önceliklendirme
Kısıtlanmış Yarı-Açık denemeleri olmadan, toparlanmaya çalışan veritabanları ve servisler ertelenmiş trafik tsunamisiyle tekrar tekrar öldürülür ve sistem sonsuz bir çöküş-açılış salınımına hapsolur.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL-DOC]Circuit Breaker Half-Open State & Thundering Herd Probing Specification— TinyCTO Architectural Standards
