Split the business transaction into independently committed local steps.
Saga
Break a distributed transaction into local transactions connected by commands or events. Each completed step has a compensating action so failures can be recovered without a global database transaction.
How can a long-running business transaction remain consistent when it spans multiple independent services?GateSift summary based on Microsoft Azure Architecture Center guidance. The wording, visualization, Azure mapping and analyzer context are original GateSift material.
How Saga works
Local transactions are coordinated as a long-running business process with compensation for failed paths.
Coordinate the next command or event while preserving durable saga and correlation state.
Complete all steps or invoke compensating actions to restore a valid business outcome.
What this pattern helps you decide
Break a distributed transaction into local transactions connected by commands or events. Each completed step has a compensating action so failures can be recovered without a global database transaction.
Where you may see it
- Logic Apps or Durable Functions orchestration
- Service Bus commands and events across bounded contexts
- Stateful process managers coordinating local transactions
How the analyzers can surface it
- Long-running workflows with several business side effects
- Compensation paths paired with orchestration state
- Correlation identifiers connecting commands, events and recovery actions
Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.
This page links to Microsoft Azure Architecture Center for the source architecture guidance. GateSift summaries, diagrams, Azure examples and analyzer signals are original. No endorsement by Microsoft is implied.