Reliable messaging in the world of actors
summary
Shows a concrete engineering journey building a production file-distribution engine (F#, Akka.NET, RabbitMQ and Azure Service Bus) that starts with envelope-based acking and at-least-once attempts, measures actor speed (5M–50M msgs/sec) and finds long uploads, forks and queue TTLs break that model. Moves through a failed persistent-actor redelivery experiment into a stable solution that persists desired/current state, uses the outbox pattern, acknowledges incoming messages early, and uses reminders plus persistent actors to resume work — implemented and running for years.
AI-written summary · about
chapters (13)
- 0:00Introduction to talk
- 1:04Speaker background and context
- 4:42Message handling guarantees in actors
- 10:32At most once delivery challenges
- 12:19First approach with acknowledgment chains
- 17:41Version two persistent bookmarks
- 19:30Attempting at least once delivery
- 23:03Reliable messaging in business logic
- 25:15Desired state and outbox pattern
- 31:13Handling long-running operations
- 35:29Real-world collaboration patterns
- 36:13Final design principles summary
- 37:18Q&A session
related talks
45mSo you want to be an actor? Lessons from implementing the actor model
01h 14mAkka.NET: The Future of Distributed Programming in .NET
49mDDD, Event Sourcing and Actors
47mNetworks and Types — the Future of Akka
51mBuilding concurrent systems using Akka.NET
45mActors Can Rule Your DDD World
29mTHINGS I WISH I KNEW WHEN I STARTED WITH AKKA
27mFour Principles of Reactive Architectures
