Tutorials Design Patterns in C#
Saga Pattern — Choreography vs Orchestration
Saga Pattern — Choreography vs Orchestration: free step-by-step lesson with examples, common mistakes, and interview tips — part of Design Patterns in C# on Toolliyo Academy.
On this page
Design Patterns in C# · Lesson 38 of 69
Saga Pattern — Choreography vs Orchestration
GoF Core ✓ → Enterprise ✓ → Cloud & Craft
Cloud & Craft · 3 — Microservices & interviews · ~6 min · Module 5: Modern Enterprise Patterns
What is this?
Orchestration uses a coordinator to drive saga steps; choreography lets services react to each other’s events without a central boss.
Why should you care?
ShopNest checkout is easier to trace with orchestration; catalog side-effects may suit choreography.
See it live — copy this example
Paste into a C# console or class library project and run dotnet run.
// Orchestration: CheckoutSaga calls Reserve/Pay/Confirm
Console.WriteLine("ORCH: saga calls inventory, then payment, then confirm");
// Choreography: OrderPlaced → InventoryReserved → PaymentCaptured (events)
Console.WriteLine("CHOREO: each service listens and emits next event");
What happened?
- Orchestration centralizes flow and compensations.
- Choreography avoids a single orchestrator but can be harder to see end-to-end.
- Pick deliberately.
Practice next
- Redraw ShopNest checkout as orchestration.
- Redraw email+search updates as choreography.
- List tracing needs for each.
- Add sequence diagram for both.
- Choose one for refunds and defend it.
Remember
Two saga styles. Orchestration for complex checkout. Choreography for loose side effects.
ShopNest mixed approach
Checkout orchestrated; search indexing choreographed.
Outcome: Clear money flow; loose coupling for secondary updates.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!