Tutorials Microservices with .NET
Orchestration Saga — Complete Guide
Orchestration Saga — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Microservices with .NET on Toolliyo Academy.
On this page
Microservices with .NET · Lesson 38 of 131
Orchestration Saga
Beginner ✓ → Intermediate → Advanced → Professional
Intermediate · 2 — Building services · ~6 min · Module 5: Saga and Distributed Transactions
What is this?
Orchestration Saga is a key part of ShopNest Cloud-Native — your .NET microservices learning project. In plain terms: it helps Identity Service work correctly in a distributed system where each app deploys and scales on its own.
Why should you care?
You care about this when one business action spans Order, Payment, and Inventory — and you cannot use one SQL transaction across three databases.
See it live — copy this example
Create a Web API project (dotnet new webapi), paste the code, then run dotnet run.
public class PlaceOrderStateMachine : MassTransitStateMachine<PlaceOrderState>
{
public State AwaitingPayment { get; private set; }
// PaymentSucceeded → ReserveInventory → Completed
// PaymentFailed → Compensate (cancel order)
}
Run Example »
Edit the code and click Run — like W3Schools Try it Yourself.
What happened?
- The example shows Orchestration Saga wired into Identity Service.
- Read each line, run it locally, then change one setting and observe what breaks or improves.
- That is how teams learn in production too — small experiments, not big bang rewrites.
Try it yourself
- Open or create the ShopNest project area for Identity Service.
- Apply the Orchestration Saga pattern from the lesson example.
- Run dotnet build && dotnet run (or docker compose up when the lesson uses containers).
- Change a string or route in the example and save — watch Swagger or the RabbitMQ Management UI update.
- Break the code on purpose (remove a semicolon), read the error message, then fix it.
Remember
Orchestration Saga connects to Identity Service in ShopNest Cloud-Native. Practice by editing the example yourself — do not only read. Move on when you can explain this topic in your own words without looking.
Real-world: Swiggy order → restaurant → rider flow
When a customer confirms food order, events notify restaurant prep and rider dispatch. No single 30-second HTTP chain.
Outcome: Restaurant promos deploy without taking down payment processing.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!