intermediateOrchestration Saga

What problem does an orchestration saga solve that a choreography saga does not?

An orchestration saga solves choreography's core weakness: the lack of a single, readable place where a multi-step process's full plan and failure handling actually live. Instead of the sequence emerging implicitly from several independent services each reacting to one event, a dedicated orchestrator component explicitly holds the entire sequence of steps and tells each participating service exactly what to do next. This makes the process auditable — a reviewer can open one class and see every step and every compensation path — at the cost of the orchestrator now being explicitly coupled to every service it coordinates. It's the right trade for longer or more complex flows, or ones where a clear audit trail genuinely matters, where choreography's scattered, implicit plan becomes hard to reason about.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to What does associationProperty do on a @SagaEventHandler, and why is it necessary?← Back to all Event-Driven Microservices questions