Microservices

Article 12: Distributed Transactions & Saga Pattern

By Utility Zone · 2026-01-28T11:14:27.703668

1. Objective

Learn how to manage transactions across multiple microservices using the Saga pattern.

2. Key Concepts

  • Distributed transactions
  • Saga pattern
  • Compensating transactions
  • Eventual consistency

3. Why ACID Transactions Fail in Microservices

  • No single database
  • Network failures are common
  • Services must remain independent

4. Saga Pattern Explained

A saga is a sequence of local transactions where each step publishes an event.

Types of Saga:

  • Choreography
  • Orchestration

5. Choreography-Based Saga

Order Created -> Payment Service -> Inventory Service
Failure -> Compensation triggered

6. Orchestration-Based Saga

Saga Orchestrator
   |
 Order -> Payment -> Inventory

7. Hands-On Scenario

  1. Order created
  2. Payment fails
  3. Order cancellation triggered as compensation

8. Common Mistakes

  • Using Two-Phase Commit (2PC)
  • Expecting strong consistency
  • Skipping compensation logic

9. Interview Notes

  • Saga provides eventual consistency
  • Preferred approach in microservices

10. Summary

Distributed transactions require architectural patterns, not database tricks.

11. What’s Next

Move to asynchronous, event-driven communication.