Reactors Road to Composable Distributed Computing
summary
Argues Reactors.IO replaces actor ref/message juggling with typed channels and event streams, showing Scala code for open returns (EventStream, Channel) and a concrete server/client pair where requests carry a request+response channel instead of a dynamic sender. Builds a reusable cache by composing client and server methods (no multiple inheritance hacks), implements a best‑effort broadcast and contrasts it with total order and CRDT approaches, provides a working prototype on GitHub and demonstrates the model improves protocol composability.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 0:15What makes a programming model good
- 1:22Programming model should be comprehensible
- 2:08x86 assembly
- 2:27Lambda calculus
- 4:45Conciseness
- 6:23Location Transparency
- 7:58composability
- 10:19Reusing components
- 13:48Mixing components
- 14:41Override method receive
- 16:01The problem
- 17:17The conclusion
- 18:05Expressing concurrency
- 19:11Open pipe
- 21:07Serializability
- 25:50Client Protocol
- 27:09Cache Protocol
- 31:15Cash Protocol
- 31:33Complex Protocol
- 31:53Multiple Sites
- 32:12Broadcast
- 34:04Implementation
- 36:46Comparison
- 37:08Operations
- 37:24Best Effort Broadcast
- 37:53Commutative Replication
- 39:14Analogy
- 39:58Questions
related talks
50mAddressing Recent Events
54mReacting to an Event-Driven World
44mReacting to the future of application architecture
27mFour Principles of Reactive Architectures
40mReactive message driven service 2 service communication with RSocket
01h 06mTransient: Unrestricted Algebraic and Monadic Composability
37mBeyond Fault Tolerance
29mAbout Combining Functional Reactive Programming and Replicated Data Types
