Akka.NET Professional Code Samples
Akka.NET is a radically different way of developing concurrent and networked applications in .NET, and so it's important to have a number of high quality reference applications developers can explore in order to better understand how to design and model software using Actors and Akka.NET.
That's the goal of this repository - to provide a small number of exceptionally well-explained and documented examples .NET architects and developers can use to better understand how to take advantage of Akka.NET's full potential.
Current Samples
Doing Asynchronous Operations inside Actors with PipeTo - how to use Task<T>
and async
operations inside your actors using the PipeTo
pattern in Akka.NET.
Testing actors withAkka.TestKit
— how to test your ActorSystem
s, explanation of the core & advanced features of the testing framework, as well as addressing common testing FAQs and situations.
ASP.NET and Windows Service Microservices with Akka.Cluster - build an elastically scalable web-crawler using Akka.Cluster in Windows Services and ASP.NET MVC.
Remote Deployment of Actors with Akka.Remote - how to deploy actors over the network using the Akka.Remote module.
AtLeastOnceDelivery Actors and Guaranteed Message Delivery - how to use the AtLeastOnceDeliveryActor
base class in Akka.Persistence to deliver messages multiple times until they're acknowledged by the recipient.
Contributing
We accept pull requests for new samples or changes to existing ones, but we maintain a very high standard of quality.
Please see our PipeTo Sample for an example.
Any samples you want to submit must:
- Contain detailed comments in the source code;
- Have a detailed
README
explaining your architectural choices and data flows; - Be markedly distinct from any other sample in this repository;
- Be concise enough that a single developer can review it easily.
Questions about Samples?
Please create a Github issue for any questions you might have.
Code License
All source code is licensed under the language of Apache 2.0. See LICENSE for more details.
Diagrams and Visuals
All of the visuals used to explain our samples are licensed under Creative Commons Attribution 4.0 International.
You are free to modify and use these diagrams in your own derivative works as long as you comply with the text of the Creative Commons Attribution 4.0 International license.
All original diagram files are in .sdr
format, which means they were made with SmartDraw.
You can download a free trial of SmartDraw from their site.
About Petabridge
Petabridge is a company dedicated to making it easier for .NET developers to build distributed applications.
Petabridge provides Akka.NET consulting and training, including advanced training in Akka.Remote, Akka.Cluster, and Akka.NET Design Patterns!
Copyright 2015 - 2017 Petabridge, LLC