OpenSleigh is a distributed Saga management library, written in C# with .NET Core. It is intended to be reliable, fast, easy to use, configurable and extensible.
So what is a Saga exactly? The basic idea is quite interesting: in a micro-service architecture, it often happens that we need to manage several long-running operations that span multiple services.
A good example could be an Order processing workflow: in this scenario you have to orchestrate multiple services, doing inventory management, credit check, handling shipping and so on.
OpenSleigh helps by taking care of distributed transactions, keeping track of the global status and managing the whole flow.
For more details, check the Use Cases page.
The Core module is available on Nuget. However, Transport and Persistence packages are necessary to properly use the library.
These are the packages available at the moment:
- Azure Service Bus
- CosmosDB with SQL API
- CosmosDB with MongoDB API
- add support for Postgres
Issues? Questions? Suggestions?
Feel free to reach out and tell us what you think!