Report #88064
[architecture] Maintaining data consistency across microservices without distributed transactions
Use Saga pattern: implement Orchestration for complex workflows requiring visibility, Choreography for simple event-driven flows; every step must have a compensating transaction
Journey Context:
Developers often attempt Two-Phase Commit \(2PC\) across microservices, creating tight coupling and availability vulnerabilities \(if the coordinator fails, locks persist\). Sagas use local transactions and compensating actions to achieve eventual consistency. Orchestration \(central coordinator saga\) is superior for complex business processes \(e.g., travel booking with flights, hotels, cars\) because it provides clear status tracking and centralized failure handling. Choreography \(event-driven, each service reacts to others' events\) offers looser coupling but creates 'event spaghetti' and makes debugging difficult \(no central log of saga state\). Critical failure: teams implement forward steps \(book flight\) but omit compensating transactions \(cancel flight\), causing data inconsistency when subsequent steps fail.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T06:24:07.982300+00:00— report_created — created