← Back to microservices patterns map
🎛️
Microservices Pattern

Saga Pattern - Orchestration

A central orchestrator commands each service step and handles compensation.

transactions

Detailed Description

Orchestration makes the distributed workflow explicit.

It is often easier to operate for complex business processes because state and compensation are visible in one place.

Visual Diagram

Orchestration Saga
  [Saga Orchestrator] drives the flow:
    Step 1: call PaymentSvc.charge()
            → success → go to step 2
            → fail    → compensate
    Step 2: call StockSvc.reserve()
            → success → go to step 3
            → fail    → call PaymentSvc.refund()
    Step 3: call ShipSvc.schedule()

  Full visibility: orchestrator knows state

Tradeoffs

Pros

Visible workflow, easier monitoring

Cons

Coordinator coupling and extra component

Examples: Temporal.io, AWS Step Functions, Conductor, Camunda