Drinking a river of IoT data with Akka.NET
summary
An Akka.NET cluster receives IoT meter events via Azure IoT Hub and an App Service, creates a proxy actor per device that obtains a remote actor ref, normalizes readings into fixed 5‑minute buckets, and persists recent state with Akka.Persistence snapshots while unloading old data to blob storage. Throughput reaches 1 million messages/second on a laptop (framework claims 50M/s), gap‑filling uses last‑week patterns, and remoting plus supervision lets the system restart millions of actors fast and remain fault tolerant.
AI-written summary · about
chapters (26)
- 0:00Intro
- 1:09Actor model: the origin
- 4:20What happened in 2015?
- 5:34Classic scaling can't keep up
- 6:19Free lunch was over
- 7:22Parallelism is the salvation
- 8:03Amdahl's Law
- 8:55Can actor models help?
- 11:15Messages
- 13:14The Actor System
- 15:13The actor hierarchy
- 16:07Fault Tolerance - Supervision
- 17:55General development ideas
- 19:36Character Actor
- 21:28Connection situation
- 23:37Momentary threshold
- 23:50Periodic threshold
- 24:44Your typical loT stack
- 38:16Why Normalization?
- 39:10Timestamp correction & buckets
- 40:16Gap filling
- 43:53Akka. Persistence
- 49:07After a system restart
- 51:48Start learning
- 52:48Deployment
- 53:20Conclusion
related talks
56mReal-Time, Distributed Applications w/ Akka.NET, Kubernetes, .NET Core, and Azure Kubernetes Service
51mComposing high performance process workflows with Akka Streams
58mLife with actors: experience report
36mNetwork I/O for a More Civilized Age: The New Akka I/O
43mGetting real(time) with Akka.NET, React and Redux
41mAkka in Production: Our Story
55mExperience report on using Akka in production: pitfalls and rewards
41mA tale of futures, actors & pipes: using Akka for large data migration
