Akka 0.7.0

Akka.NET is a port of the popular Java/Scala framework Akka to .NET

There is a newer version of this package available.
See the version list below for details.
Install-Package Akka -Version 0.7.0
dotnet add package Akka --version 0.7.0
<PackageReference Include="Akka" Version="0.7.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Akka --version 0.7.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Akka, 0.7.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Akka as a Cake Addin
#addin nuget:?package=Akka&version=0.7.0

// Install Akka as a Cake Tool
#tool nuget:?package=Akka&version=0.7.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Major new changes and additions in this release, including some breaking changes...
__Akka.Cluster__ Support (pre-release) - Akka.Cluster is now available on NuGet as a pre-release package (has a `-pre` suffix) and is available for testing. After installing the the Akka.Cluster module you can add take advantage of clustering via configuration, like so:
akka {
actor {
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
}
remote {
log-remote-lifecycle-events = DEBUG
helios.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = [
"akka.tcp://ClusterSystem@127.0.0.1:2551",
"akka.tcp://ClusterSystem@127.0.0.1:2552"]
auto-down-unreachable-after = 10s
}
}
And then use cluster-enabled routing on individual, named routers:
/myAppRouter {
router = consistent-hashing-pool
nr-of-instances = 100
cluster {
enabled = on
max-nr-of-instances-per-node = 3
allow-local-routees = off
use-role = backend
}
}
For more information on how clustering works, please see https://github.com/akkadotnet/akka.net/pull/400
__Breaking Changes: Improved Stashing__ - The old `WithUnboundedStash` and `WithBoundedStash` interfaces have been slightly changed and the `CurrentStash` property has been renamed to `Stash`. Any old stashing code can be replaced with the following in order to continue working:
public IStash CurrentStash { get { return Stash; } set { Stash=value; } }
The `Stash` field is now automatically populated with an appropriate stash during the actor creation process and there is no need to set this field at all yourself.
__Breaking Changes: Renamed Logger Namespaces__ - The namespaces, DLL names, and NuGet packages for all logger add-ons have been changed to `Akka.Loggers.Xyz`. Please install the latest NuGet package (and uninstall the old ones) and update your Akka HOCON configurations accordingly.
__Serilog Support__ - Akka.NET now has an official [Serilog](http://serilog.net/) logger that you can install via the `Akka.Logger.Serilog` package. You can register the serilog logger via your HOCON configuration like this:
loggers=["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
__New Feature: Priority Mailbox__ - The `PriorityMailbox` allows you to define the priority of messages handled by your actors, and this is done by creating your own subclass of either the `UnboundedPriorityMailbox` or `BoundedPriorityMailbox` class and implementing the `PriorityGenerator` method like so:
public class ReplayMailbox : UnboundedPriorityMailbox
{
protected override int PriorityGenerator(object message)
{
if (message is HttpResponseMessage) return 1;
if (!(message is LoggedHttpRequest)) return 2;
return 3;
}
}
The smaller the return value from the `PriorityGenerator`, the higher the priority of the message. You can then configure your actors to use this mailbox via configuration, using a fully-qualified name:
replay-mailbox {
mailbox-type: "TrafficSimulator.PlaybackApp.Actors.ReplayMailbox,TrafficSimulator.PlaybackApp"
}
And from this point onward, any actor can be configured to use this mailbox via `Props`:
Context.ActorOf(Props.Create<ReplayActor>()
.WithRouter(new RoundRobinPool(3))
.WithMailbox("replay-mailbox"));
__New Feature: Test Your Akka.NET Apps Using Akka.TestKit__ - We've refactored the testing framework used for testing Akka.NET's internals into a test-framework-agnostic NuGet package you can use for unit and integration testing your own Akka.NET apps. Right now we're scarce on documentation so you'll want to take a look at the tests inside the Akka.NET source for reference.
Right now we have Akka.TestKit adapters for both MSTest and XUnit, which you can install to your own project via the following:
MSTest:
install-package Akka.TestKit.VsTest
XUnit:
install-package Akka.TestKit.Xunit

NuGet packages (152)

Showing the top 5 NuGet packages that depend on Akka:

Package Downloads
Akka.Remote
Remote actor support for Akka.NET
Akka.DI.Core
Dependency injection support for Akka.NET [DEPRECATED - replaced by Akka.DependencyInjection]
Akka.TestKit
You need a Akka.TestKit.* package! Add the one appropriate for the test framework you use instead. For example: Akka.TestKit.Xunit or Akka.TestKit.VsTest. This package only contains base functionality for writing tests for the Akka.NET framework.
Akka.Persistence
Persistence actor support for Akka.NET
Akka.Logger.Serilog
Serilog logging adapter for Akka.NET.

GitHub repositories (12)

Showing the top 5 popular GitHub repositories that depend on Akka:

Repository Stars
neo-project/neo
NEO Smart Economy
petabridge/akka-bootcamp
Self-paced training course to learn Akka.NET fundamentals from scratch
AElfProject/AElf
A scalable cloud computing blockchain platform
petabridge/NBench
Performance benchmarking and testing framework for .NET applications :chart_with_upwards_trend:
Lutando/Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net

Version History

Version Downloads Last updated
1.4.19 2,535 4/28/2021
1.4.18 14,499 3/23/2021
1.4.17 12,435 3/10/2021
1.4.16 49,297 1/22/2021
1.4.15 2,990 1/20/2021
1.4.14 22,242 12/30/2020
1.4.13 9,704 12/16/2020
1.4.12 56,199 11/16/2020
1.4.11 28,665 11/5/2020
1.4.10 102,161 8/20/2020
1.4.9 44,833 7/21/2020
1.4.8 60,087 6/17/2020
1.4.7 24,460 5/27/2020
1.4.6 23,626 5/12/2020
1.4.5 32,693 4/29/2020
1.4.4 53,633 3/31/2020
1.4.3 26,976 3/18/2020
1.4.2 17,214 3/13/2020
1.4.1 81,383 3/11/2020
1.4.1-rc3 2,573 3/10/2020
1.4.1-rc2 2,013 3/10/2020
1.4.1-rc1 3,694 2/28/2020
1.4.0-beta4 3,894 1/28/2020
1.4.0-beta3 12,744 10/30/2019
1.4.0-beta2 7,488 9/23/2019
1.4.0-beta1 6,947 7/19/2019
1.3.18 18,715 3/9/2020
1.3.17 107,009 12/20/2019
1.3.16 60,667 11/14/2019
1.3.15 127,698 9/23/2019
1.3.14 109,265 7/30/2019
1.3.13 128,706 4/30/2019
1.3.12 106,302 3/14/2019
1.3.11 221,718 12/18/2018
1.3.10 102,902 11/2/2018
1.3.9 246,274 8/23/2018
1.3.8 132,503 6/5/2018
1.3.7 19,611 5/15/2018
1.3.6 30,588 4/17/2018
1.3.5 98,953 2/22/2018
1.3.4 20,660 2/1/2018
1.3.3 21,563 1/19/2018
1.3.2 108,019 10/21/2017
1.3.1 63,148 9/5/2017
1.3.0 93,132 8/11/2017
1.2.3 28,147 7/10/2017
1.2.2 11,228 6/28/2017
1.2.1 16,244 6/23/2017
1.2.0 54,287 4/12/2017
1.1.3 41,237 1/23/2017
1.1.2 57,751 9/22/2016
1.1.1 46,515 7/16/2016
1.1.0 9,779 7/7/2016
1.0.8 64,662 4/26/2016
1.0.7 11,538 4/6/2016
1.0.6 25,458 1/18/2016
1.0.5 18,452 12/3/2015
1.0.4 30,994 8/7/2015
1.0.3 9,721 6/12/2015
1.0.2 4,508 6/3/2015
1.0.1 7,071 4/28/2015
1.0.0 11,169 4/9/2015
1.0.0-dev1504032244 2,558 4/3/2015
0.8.0 4,421 2/12/2015
0.7.1 2,789 12/13/2014
0.7.0 2,928 10/20/2014
0.6.4 2,555 9/3/2014
0.6.3 2,708 8/16/2014
0.6.2 2,398 8/5/2014
0.6.1 2,464 7/10/2014
0.6.0 2,884 6/23/2014
0.5.8 2,179 5/23/2014
0.5.2 2,167 4/29/2014
0.5.0 2,900 4/16/2014
0.2.1-beta 1,977 3/22/2014
0.2.0-beta 2,381 3/19/2014
Show less