How I Learned to Stop Worrying & Love the Flow
summary
Claims that Reactive Streams-style non-blocking back pressure bounds in-flight data by letting subscribers send demand upstream, implemented with Akka Streams and a flow materializer. Demonstrates a pipeline that zips an unbounded stream of random bank transfers with a ticker, calls a currency service via futures, merges 3,462 publishers, windows one-second batches, analyzes and prints results, and materializes into roughly 1 million actors running across all cores — the demo executes and prints output successfully.
AI-written summary · about
chapters (31)
- 0:00Introduction
- 1:43What is a Stream?
- 3:25What is a collection?
- 4:58User Expectations
- 6:23Unexpected: observed sequence depends on
- 7:23java.util.stream
- 8:36Streams vs. Collections
- 14:38Possible Solutions
- 16:13The Four Horsemen of Reactive
- 17:07Origin and motivation
- 18:19Collaboration between Engineers
- 18:42Goals
- 20:53Reactive Streams
- 22:34A Data Market using Supply & Demand
- 24:49Dynamic Push-Pull
- 27:26Explicit Demand: One-to-many
- 28:27Explicit Demand: Many-to-one
- 29:01The Meat: Java
- 30:52The dessert: Java
- 31:17How does it Connect?
- 31:48How does it Flow?
- 32:21How does it Complete?
- 36:11Akka Actors
- 37:19Canonical papers
- 37:39Opportunity: API
- 38:58Opportunity: Self-tuning back pressure
- 40:41Opportunity: Operation Fusion
- 43:26Opportunity: Operation Elision
- 44:20Opportunity: Execution optimizations
- 44:56Opportunity: Distributed Streams
- 52:38Outro: How do I get my hands on this?
related talks
48mStreaming all the things with Akka Streams
30mLEARN YOU AKKA STREAMS FOR GREAT GOOD!
28mStreams on top of Scala
40mEverything Will Flow
01h 07mA Practical Introduction to Akka Streams
30mLive Coding: Building Stateful and Scalable Reactive Streams...
46mTame Your Data with Akka Streams
31mSTREAM DRIVEN DEVELOPMENT - DESIGN YOUR DATA PIPELINE WITH AKKA STREAMS
