Akka.NET
The Akka.NET library is a port of the popular Akka framework for the JVM to the .NET platform. One of the key differences, with a more simpler implementation of the Actor Model such as MailboxProcessor
, is that Akka.NET is distributed by default-the location of the actor remains transparent to the developer. This means that message passing will work the same locally (on the same machine) as remotely (between different machines). This makes it much easier to scale our applications without having to worry about a very complicated distribution model from the very beginning.
Another very important feature introduced by Akka is the concept of supervision-actors must be arranged in a hierarchy, with each actor being responsible for dealing with the failures causing its children actors to crash, and stopping or restarting them accordingly. This architecture helps us design highly fault-tolerant systems that can self-heal.
Let's see how we can implement the aforementioned sample...