Backpressure

Türkçe karşılığı: Geri basınçAlan: Dağıtık Sistemler

Tüketici kapasitesi gelen iş hızını karşılayamadığında üst akışın üretim hızını sınırlayarak kuyruk ve bellek büyümesini kontrol eden akış mekanizması.

Backpressure (geri basınç), tüketici gelen işi sürdürülebilir hızda işleyemediğinde üst akışın yeni iş üretme hızını sınırlamasıdır.

Kuyruk Neden Büyür?

Uzun dönemde geliş hızı λ, servis kapasitesi μ değerini aşarsa kuyruk sürekli büyür. Bellekteki kuyruk sınırsızsa gecikme ve bellek kullanımı birlikte artar; sistem bir süre çalışıyor görünse bile tail latency giderek kötüleşir.

Uygulama Biçimleri

Backpressure;

  • üreticinin bloklanması,
  • sınırlı kuyruk dolduğunda yeni işin reddedilmesi,
  • talep miktarının tüketici tarafından bildirilmesi,
  • bazı düşük öncelikli işlerin yük altında bırakılması

gibi farklı mekanizmalarla uygulanabilir.

Rate Limiting ile Farkı

Rate limiting çoğu zaman politika gereği kabul edilen hızı sınırlar. Backpressure ise gerçek downstream kapasite sinyaline tepki verir. Birbirini tamamlayabilirler.

Retry'nin kontrolsüz uygulanması backpressure'ı bozabilir; doygun bağımlılığa daha fazla iş üretir.

İlgili: Kuyruk teorisi, Üst yüzdelik gecikme, Yük atma, Kritik Sistemlerde Güvenli Retry.

İlgili teknik yayınlar

Başlık veya özetinde bu kavrama doğrudan karşılık gelen yayınlar.

NetMQ ile Aracısız Mesajlaşma

NetMQ, ZeroMQ mesajlaşma modelini .NET tarafında broker zorunluluğu olmadan sunar. Bu sadelik kuyruk sınırı, socket ownership, geri basınç ve hata semantiği kararlarını uygulamanın üzerine bırakır.

Java ile NiFi Özel İşlemci Geliştirme

NiFi Custom Processor, yalnız onTrigger içindeki algoritmadan ibaret değildir; session transaction'ı, geri basınç, köken, cluster scheduling ve iş parçacığı-safety kuralları aynı bileşenin parçasıdır.