# Saga

> Manage data consistency across microservices in distributed transaction scenarios

- **Category**: Cloud
- **Subcategory**: azure
- **Canonical URL**: https://designpattern.fyi/patterns/azure_saga/

---

## Description
The Saga pattern manages data consistency across microservices in distributed transaction scenarios. Instead of using a single distributed transaction, a saga is a sequence of local transactions where each local transaction updates data within a single service. If a step fails, compensating transactions undo previous steps.


## Use Cases
Use when implementing distributed transactions across microservices that require eventual consistency.





## Trade-offs


### Advantages

- Handles distributed consistency without two-phase commit

- Works across different data stores

- Enables eventual consistency

- Suitable for long-running transactions




### Considerations & Drawbacks

- Complex to implement compensating logic

- No strong consistency guarantees

- Can be difficult to debug







---
**Reference**: [Original Source](https://learn.microsoft.com/en-us/azure/architecture/patterns/saga)

