Backpressure explained — the resisted flow of data through software

I recently gave a talk about this at ReactiveConf:

The Definition

Examples of Backpressure

I Love Lucy: Chocolate Factory

Thanks to my old co-worker Randall Koutnik for suggesting this example years ago!

Reading and Writing Files

6 GB / 150 MB = 40 seconds
150 MB - 100 MB = 50 MB deficit
50 MB x 40 = 2 GB !!!

Server Communication

Rendering UI

Backpressure Strategies

  • Control the producer (slow down/speed up is decided by consumer)
  • Buffer (accumulate incoming data spikes temporarily)
  • Drop (sample a percentage of the incoming data)

Choosing a Strategy

Code for Backpressure

Pull

Summary

--

--

--

WebAssembly • Reactive programming • PL enthusiast • Web Platform @ Netflix

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Winery eCommerce Data Reveals Keys to Growing Sales — SwiftERM

Who are Developer Evangelists / Advocates?

May Release of Saleor: Navigation Management and Filtering

Spring Boot File Upload Example | Code Factory

Tech and Research Update: June

June Update

What is a service mesh?

Laravel like log viewer for SeriLog (Asp.NET MVC)

SauceCon Online 2021 Workshop

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jay Phelps

Jay Phelps

WebAssembly • Reactive programming • PL enthusiast • Web Platform @ Netflix

More from Medium

What is OAuth 2.0 Authorization Framework

AspectJ + Gradle — Retry Java Method on exception

Monitoring Certificate Expiry Dates of a JAVA Keystore (.JKS)

Designing An Async Framework the Spring way