Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
Akka.NET is a .NET port of the popular Akka project from the Scala / Java community. We are an idiomatic .NET implementation of the actor model built on top of the .NET Common Language Runtime.
Akka.NET is a .NET Foundation project.
Akka.NET can be used in-process or inside large, distributed real-time systems; we support a wide variety of use cases.
Akka.NET can be used to solve the following types of problems:
lock
s or any other shared-memory synchronization mechanisms.You can start by taking the Akka.NET Bootcamp, but there are many other great learning resources for Akka.NET Online.
Stage | Status |
---|---|
Build | |
NuGet Pack | |
.NET Framework Unit Tests | |
.NET 7 Unit Tests (Windows) | |
.NET 7 Unit Tests (Linux) | |
.NET 7 MultiNode Tests (Windows) | |
.NET 7 MultiNode Tests (Linux) | |
Docs |
If you want to include Akka.NET in your project, you can install it directly from NuGet
To install Akka.NET Distributed Actor Framework, run the following command in the Package Manager Console
PM> Install-Package Akka.Hosting
Akka.Hosting includes the base Akka NuGet package and also provides an easy interface to integrate Akka.NET with the most-used parts of the Microsoft.Extensions ecosystem: Configuration, Logging, Hosting, and DependencyInjection. We encourage developers to adopt it.
And if you need F# support:
PM> Install-Package Akka.FSharp
To create your own Akka.NET projects using our templates (Akka.Templates), install them via the dotnet
CLI:
dotnet new install "Akka.Templates::*"
This will make our templates available via dotnet new
on the CLI and as new project templates inside any .NET IDE such as Visual Studio or JetBrains Rider. You can view the full list of templates included in our package here: https://github.com/akkadotnet/akkadotnet-templates#available-templates
Please see Building Akka.NET.
To access nightly Akka.NET builds, please see the instructions here.
If you need help getting started with Akka.NET, there's a number of great community resources online:
If you and your company are interested in getting professional Akka.NET support, you can contact Petabridge for dedicated Akka.NET support.