Problem
Cross-service operations need atomicity. 2PC unavailable/slow. Sagas provide eventual consistency with compensation.
Also known as: distributed-saga, choreography-saga, orchestration-saga, saga-orchestrator
Manage distributed transactions across services without 2PC, using choreography (events) or orchestration (central coordinator) with compensating actions.
Cross-service operations need atomicity. 2PC unavailable/slow. Sagas provide eventual consistency with compensation.
Low — uses existing messaging
High — monitor saga state, handle stuck sagas
High — compensation design, failure mode analysis
Compensation fails → saga stuck, manual intervention needed
Race conditions: concurrent sagas on same entities
Timeouts: step takes too long, orchestrator triggers compensation prematurely
Lost events: choreography breaks if event not delivered