Orleankka alternatives and similar packages
Based on the "Distributed Computing" category.
Alternatively, view Orleankka alternatives based on common mentions on social networks and blogs.
-
Akka.net
Akka.NET is a port of the popular Java/Scala framework Akka to .NET. This is a community driven port and is not affiliated with Typesafe who makes the original Java/Scala version. -
.NET port of LMAX Disruptor
Port of LMAX Disruptor to .NET -
Zebus
Zebus is a lightweight, higlhy versatile, peer to peer service bus, built with CQRS principles in mind. It allows applications to communicate with each other in a fast and easy manner. Most of the complexity is hidden in the library and you can focus on writing code that matters to you, not debugging messaging code. A very fundamental base for any distributed application. -
FsShelter
F# library for authoring Apache Storm components and topologies. Offering high-level abstractions for distributed and fault-tolerant event stream processing. -
.NEXT Raft
Raft implementation for .NET and ASP.NET Core that allows to build clustered microservices powered by distributed consensus and replication
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Orleankka or a related project?
README
[Orleankka Logo](Logo.Wide.jpg)
Orleankka is a functional extension for Microsoft Orleans framework. It provides a message-based API similar to Akka/ProtoActor, carefully layered on top of the Orleans (that's what in a name). Orleankka is an excellent choice for use-cases which can benefit from composable, uniform communication interface, such as CQRS, event-sourcing, FSM, etc.
References: intro, features, slides and discussion.
Features
- Message-based API with zero performance overhead
- Switchable actor behaviors with built-in hierarchical FSM (behaviors)
- Additional api to simplify programming long-running background tasks (jobs)
- Poweful actor/proxy middlewares (interceptors)
- Convenient unit testing kit (stubs, mocks, expectations)
How to install
To install client Orleankka library via NuGet, run this command in NuGet package manager console:
PM> Install-Package Orleankka
For server-side library:
PM> Install-Package Orleankka.Runtime
Check out "Getting started" guide
Build sources
You will need VS2019 and .NET Core 3.x installed in order to build and open the solution. Clone repository and run the following in CLI from solution's root folder:
PM> Nake.bat
This will restore dependencies and build everything in debug
mode. Run Nake.bat
with -T
switch to see available commands.
Packages
Package | Description |
---|---|
Orleankka | Core and client lib |
Orleankka.Runtime | Server-side runtime lib |
Orleankka.TestKit | Unit testing kit |
Examples
- Hello, world! [[demo]](Samples/CSharp/HelloWorld)
- "WebScan" [[demo]](Samples/CSharp/Demo/Demo.App)
- TestKit [[demo]](Source/CSharp/Demo/Demo.App.Tests)
- Event Sourcing
- Idiomatic (CQRS) [[see]](Samples/CSharp/EventSourcing/Idiomatic)
- Persistence: GetEventStore [[see]](Samples/CSharp/EventSourcing/Persistence/GES)
- Persistence: Streamstone [[see]](Samples/CSharp/EventSourcing/Persistence/Streamstone)
- Serialization
- ProtoBuf [[see]](Samples/CSharp/Serialization/ProtoBuf)
- Hyperion [[see]](Samples/CSharp/Serialization/Hyperion)
- Reentrant messages [[rw-x]](Samples/CSharp/Reentrant)
- Client-side observers [[chat]](Samples/CSharp/Observers)
- Streams [[chat]](Samples/CSharp/Streams)
- Switchable behaviors
- Basics [[see]](Samples/CSharp/FSM/Lightbulb)
- Durable FSM with supervision[[see]](Samples/CSharp/FSM/ProcessManager)
Documentation
Documentation can be found here.
Community
- Join Gitter chat
- Follow the @Orleankka Twitter account for announcements
License
Apache 2 License
*Note that all licence references and agreements mentioned in the Orleankka README section above
are relevant to that project's source code only.