Saga: Orchestration vs Choreography¶
A Saga coordinates local commits and explicit compensations without pretending they are one database transaction.
flowchart LR
J[Junior: why compensate] --> M[Middle: state and events] --> S[Senior: semantic failures] --> P[Professional: workflow scale]
flowchart LR
Reserve --> Charge --> Ship
Charge -->|failure| Compensate[Release reservation]
| Level | Guide | You are done when |
|---|---|---|
| Junior | Definition and why | You can distinguish compensation from rollback. |
| Middle | How it works | You can model orchestration and choreography. |
| Senior | Failures and mistakes | You can handle races, duplicates, and failed compensation. |
| Professional | Best practices and scale | You can evolve and operate durable workflows. |
Practice rule: State business invariants and compensation before choosing coordination style.