Crossing the Boundaries of Stateful Streaming and Actors Using Serverless Portals
summary
Portals is a Scala 3 runtime that implements Atomic Streams and named portals to get end-to-end exactly-once semantics across multiple stateful dataflow pipelines. It enforces atomicity with a coordinator running a two‑phase commit against replicated persistent state, stores continuations durably (uses Spor3), and supports cyclic workflows so a fault-tolerant actor model and microservices like a shopping cart actually run on the runtime. Demo runs include a shopping cart + inventory + analytics pipeline (throttled to 4 events/sec) and a browser-playground via Scala.js.
AI-written summary · about
chapters (12)
- 0:00Portal's framework intro
- 1:58Serverless framework challenges
- 6:58Why exactly-once processing
- 7:21Streaming vs actor model
- 13:48Streaming and actors in Portals
- 14:29Portals core abstractions
- 20:19Actor-like communication
- 23:11Word count example
- 29:58Shopping cart microservices
- 36:27Actor model on Portals
- 37:10Live demos
- 38:38Summary and future
related talks
28mStreams on top of Scala
31mFUNCTIONAL EVENT-DRIVEN ARCHITECTURE
48mStreaming all the things with Akka Streams
54mScala concurrency patterns with Actors
04mInterview
32mMaximizing Throughput and Scalability for Akka Streams
30mCUSTOM STREAM OPERATORS MADE SAFE AND SIMPLE WITH LIBRETTO
47mServerless Scala - Functions as SuperDuperMicroServices
