7.1. Akış Kontrolü ve Aşırı Yük Yönetimi
Her sistemin sonlu bir kapasitesi vardır ve zarif düşüş (graceful degradation) ile tam çöküş arasındaki fark, talep bunu aştığında ne olduğudur. Akış kontrolü olmadan, aşırı yüklenmiş bir sistem yavaşlamaz — yeniden denemelerin ve kuyrukların yükü, orijinal tetikleyici gittikten sonra bile hiçbir şey geçemeyene kadar yükselttiği metastabil bir hataya düşer. Bu bölüm, kuyruk teorisinden başlar (gecikme doygunluğa yakın neden patlar), ardından geri baskıyı (backpressure), yük atmayı, hız sınırlamayı ve bir dalgalanmayı bir kesintiye dönüştüren retry-storm dinamiklerini kapsar.
İncelenen Konular
Section titled “İncelenen Konular”- 7.1.1. Kuyruk Teorisi Temelleri: Little Yasası ve Kullanım Eğrisi: Akış kontrolünü kuyruk teorisinde temellendirir: Little Yasası ve kullanım doygunluğa yaklaşırken gecikmenin neden patladığı.
- 7.1.2. Geri Baskı: Yükü Kaynağa Geri Döndürmek: Aşırı yük sinyallerini yukarı akışa yayarak üreticilerin tüketicileri ezmek yerine yavaşlamasını sağlayan geri baskıyı kapsar.
- 7.1.3. Yük Atma: Hangi İstekler Düşürülür ve Nasıl: Yük atmayı açıklar: talep kapasiteyi aştığında sistemi hayatta tutmak için istekleri kasıtlı olarak düşürmek.
- 7.1.4. Öncelik Kuyrukları: Kritik İstekleri Korumak: Kritik istekleri best-effort trafiğin önünde servis ederek koruyan öncelik kuyruklarını kapsar.
- 7.1.5. Rate Limiting: Token Bucket, Leaky Bucket, Sabit ve Kayan Pencere: Rate-limiting algoritmalarını kapsar: token bucket, leaky bucket ve sabit ile kayan pencere sayaçları.
- 7.1.6. Uyarlanabilir Rate Limiting: Dinamik Sınırlar: Sınırları gerçek zamanlı sistem sağlığına göre dinamik olarak ayarlayan uyarlanabilir rate limiting’i açıklar.
- 7.1.7. Retry Fırtınaları ve Metastabil Hatalar: İş Amplifikasyonu ve Retry Bütçeleri: Retry fırtınalarını, iş amplifikasyonunu ve metastabil hatayı önleyen retry bütçelerini kapsar.