The Saga Pattern: Coordinating Long-Lived Transactions Across Microservices
When one business transaction has to span five services and two databases, no single ACID boundary can hold it. The Saga pattern trades atomicity for a sequence of local transactions plus a compensation plan — and it comes in two sharply different shapes: orchestration, where a director tells every service what to do, and choreography, where each service reacts to events on a wire. A voyage analogy, two side-by-side implementations, three real-world implementation shapes, and a forward pointer to the patterns saga enables.
Design PatternsMicroservicesDistributed Systems