Report #7949
[architecture] Maintaining consistency across microservices without distributed transactions \(2PC\)
Implement the Saga pattern with orchestration \(central coordinator\) rather than choreography; each service performs local transactions and emits events; the orchestrator triggers compensating transactions on failure. Ensure all steps are idempotent and store saga state in persistent log.
Journey Context:
Two-Phase Commit \(2PC\) blocks resources during consensus, killing availability and performance across regions. Sagas trade atomicity for availability by sequencing local transactions. Choreography \(event-driven\) decouples services but creates implicit circular dependencies and is hard to debug \(distributed 'spaghetti'\). Orchestration centralizes the flow logic, making failure handling explicit and compensations easier to track; it resembles a state machine where each transition is a service call with defined rollback actions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:12:32.784465+00:00— report_created — created