Skip to main content
Top10Grid
#2

Backpressure

Backpressure ensures a consumer signals the producer exactly how many items it can handle via Subscription.request(n), preventing unbounded buffer growth or silent data loss. Unlike #3 Declarative Operator Composition which focuses on data transformation, backpressure directly addresses flow control, transforming the push model into a cooperative push/pull hybrid. Node.js implements this via stream.write() returning false with a highWaterMark of 16 KB, while the Web Streams API uses ByteLengthQueuingStrategy. Apache Pekko Streams 1.6.0 supports 200+ operators with dynamic push/pull: fast downstreams push freely; slow ones pull. RxJava 2 offers onBackpressureBuffer and onBackpressureDrop for unslowable sources like UI events. Uber's uForwarder processes trillions of messages across 1,000+ services with bounded demand as an invariant. A concrete example: streaming large files with backpressure cut memory usage by 70% vs. buffering, proving its critical role in reactive system resilience.

0
Share:

Photos (1)

Backpressure

Comments on "Backpressure"

Have a take on this ranking?

Comments are how the argument actually happens here. Posting one needs a free account — it takes about a minute.

No comments yet.

The first comment sets the terms of the argument.