Intermediate Topic 26 of 51 Distributed Systems & Cloud
Saga Pattern
Sequence of local transactions with compensating actions.
How it works
A saga manages a business transaction spanning multiple services as a sequence of local transactions, each with a compensating action that semantically undoes it if a later step fails. Two coordination styles exist: choreography, where services react to each other's events, and orchestration, where a central orchestrator directs the steps. Sagas give eventual consistency without distributed locks or two-phase commit and keep services decoupled.
Where it is used
Order placement involving payment, inventory and shipping, travel bookings across airlines and hotels and other long-running workflows in microservices use sagas.
Common pitfall
There is no isolation between steps, so intermediate states are visible and anomalies such as dirty reads can occur; use semantic locks, versioning or pending states. Compensations must be idempotent and may not always be possible, such as for sent emails. Failures in compensation need retries and monitoring. Design state machines, correlation IDs and timeouts, and use workflow engines such as Temporal or Step Functions.
Where it fits in the course
Saga Pattern is topic 26 of 51 in Distributed Systems & Cloud, rated Intermediate. It follows Two-Phase Commit. The next topic is Consistent Hashing.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Distributed Systems & Cloud quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Distributed Systems & Cloud quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Saga Pattern?
Where do people use Saga Pattern?
What is the most common mistake with Saga Pattern?
What should I learn before this topic?
How can I practice it?
Is Saga Pattern hard to learn?
How long does it take to learn Saga Pattern?
Which topics are related to Saga Pattern?
What should I study after Saga Pattern?
Related topics
- Two-Phase Commit (Distributed Systems & Cloud)
- Consistent Hashing (Distributed Systems & Cloud)
- Leader Election (Distributed Systems & Cloud)
- Distributed Hash Tables (Distributed Systems & Cloud)
- Producer-Consumer Pattern (Concurrency & Parallelism)
- Singleton Pattern (Software Engineering)
- Factory Pattern (Software Engineering)