Skip to main content

> Terim

Backpressure

Downstream'deki aşırı yüklenmeyi upstream'deki üreticilere bildirerek veri akışını yavaşlatmayı ve sistemin çökmesini önlemeyi sağlayan bir mekanizma.

Detaylı Açıklama

Backpressure, veri alan bir sistemin veriyi gönderen sisteme bunaldığını bildirdiği veri akışlarındaki bir geri bildirim mekanizmasıdır. Temel olarak, 'Lütfen yavaşla, bunu yeterince hızlı işleyemiyorum' der.

Backpressure olmazsa, hızlı bir üretici (producer) eninde sonunda daha yavaş bir tüketiciyi (consumer) boğarak bellek tükenmesine, atlanan mesajlara veya tam sistem çökmelerine yol açar.

Neden Önemli?

Trafik sıçramaları (traffic spikes) sırasında zincirleme çökmeleri (cascading failures) önleyerek dağıtık sistemlerde dayanıklılık yaratır ve sistemin tamamen çökmek yerine kontrollü bir şekilde yavaşlamasını sağlar.

Yaygın Hata Senaryosu

Backpressure sinyallerini görmezden gelmek veya sunucunun belleği tükenene (OOM) kadar büyüyen sınırsız kuyruklara sahip olmak ve feci bir çökmeye neden olmak.

Pratik Örnek

Yüksek hacimli bir event stream'in saniyede 10.000 log üretmesi, ancak veritabanının sadece 5.000 yazabilmesi. Kuyruk backpressure uygulayarak veritabanı yetişene kadar akışı yavaşlatmaya zorlar.

Prodüksiyon Yansıması

Trafiği dinamik olarak kısmak (throttle) için mesaj kuyruklarında, reaktif programlama kütüphanelerinde (RxJS gibi) ve ağ protokollerinde (TCP pencere boyutlandırma gibi) uygulanır.

Sıkça Sorulan Sorular

Backpressure kısaca nedir?

Downstream'deki aşırı yüklenmeyi upstream'deki üreticilere bildirerek veri akışını yavaşlatmayı ve sistemin çökmesini önlemeyi sağlayan bir mekanizma.

En sık karşılaşılan hata nedir?

Backpressure sinyallerini görmezden gelmek veya sunucunun belleği tükenene (OOM) kadar büyüyen sınırsız kuyruklara sahip olmak ve feci bir çökmeye neden olmak.

AI Özeti

Downstream'deki aşırı yüklenmeyi upstream'deki üreticilere bildirerek veri akışını yavaşlatmayı ve sistemin çökmesini önlemeyi sağlayan bir mekanizma. Trafik sıçramaları (traffic spikes) sırasında zincirleme çökmeleri (cascading failures) önleyerek dağıtık sistemlerde dayanıklılık yaratır ve sistemin tamamen çökmek yerine kontrollü bir şekilde yavaşlamasını sağlar.