Life with actors: experience report
summary
A media-distribution pipeline using Akka.NET and F# handles millions of files, RabbitMQ queues, and Akamai uploads; it runs as an actor hierarchy with persistent actors (event sourcing to SQL Server), routable workers for ~120k active programs, and no manual thread management for a year. Tell-style messaging runs ~4M msg/s while ask falls to ~150k msg/s, so FSM/state-wait patterns replace ask for scalability. Tests use FSCheck generators and the system is in pre-production/production.
AI-written summary · about
chapters (22)
- 0:00Introduction to NRK
- 0:35Project context
- 2:16The distribution engine
- 3:12Need for a new model
- 4:20Actor model overview
- 6:19F# and Actors
- 7:59Understanding actors
- 10:44C# and F# actor examples
- 14:26Tell vs ask
- 15:49Performance issues with ask
- 18:07Reactive integration patterns
- 20:48Actor supervision
- 22:53External queue handling
- 24:58Restart strategies
- 27:12Persistent actors
- 30:16Scalability and routing
- 34:56Actor musical break
- 36:53Actor testing techniques
- 40:41Static types in F#
- 47:26Drawbacks and debugging
- 49:45Project outcome and findings
- 51:55Q&A session
related talks
40mActors in .NET, 2025 edition
51mComposing high performance process workflows with Akka Streams
56mAkka + F# = Akkling
56mAkka in Heterogenous Environments
41mA tale of futures, actors & pipes: using Akka for large data migration
41mAkka in Production: Our Story
59mDrinking a river of IoT data with Akka.NET
24mUsing an actor framework for scientific computing
