The Saga pattern is an architectural concept for distributed systems that models a business workflow as a sequence of local transactions. Each local transaction commits independently and triggers compensating actions on failure to restore overall state. This enables eventual consistency without a central, blocking two‑phase commit.
Use this profile to understand the building block briefly, place it in the model, and switch to the 360° assessment when needed.
Theoretical construct: explains a term, principle, or mental model.
What organizes, connects, or makes decisions possible.
A saga coordinates a distributed business transaction as a sequence of local transactions and compensates completed steps when a later step fails.
The Saga pattern was formulated for long-running transactions in distributed systems where one global ACID transaction across services is impractical. Microservices.io describes choreography and orchestration as two coordination approaches.
An order may reserve inventory, authorise payment, and create shipping. Each service commits its local transaction; if a later step fails, the saga runs business compensations such as releasing the reservation. Compensation is a new transaction, not a rewind: intermediate states, retries, duplicates, and effects that cannot be undone must be designed for.
Each service commits its own atomic transaction and then publishes an event or result.
A business counter-action offsets the effect of a completed step where that is possible.
Choreography distributes reactions through events; orchestration centralises them in a coordinator.
Sagas enable resilient business flows across service boundaries. They also add consistency, failure-handling, and observability complexity, so business compensations must be defined explicitly.
Where this building block is located in the topic model.
No structure path available.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.