Report #71585
[architecture] Distributed transactions across microservices with 2PC bottlenecks
Use the Saga pattern: a sequence of local transactions where each service publishes an event or completes an action, and subsequent steps are triggered by that event. Implement compensating transactions for rollback. Choose Choreography \(event-driven, decentralized\) for loose coupling with few services, or Orchestration \(central coordinator\) for complex flows requiring visibility.
Journey Context:
Two-Phase Commit \(2PC\) locks resources across services, creating tight coupling and availability issues \(if the coordinator fails, resources stay locked\). Sagas favor availability over immediate consistency \(eventual consistency\). Choreography is simple but hard to debug \(distributed state machine\); Orchestration is clearer but creates a single point of failure and requires the saga to be stateful. Critical insight: not all operations need immediate consistency; design for compensating transactions \(e.g., credit back instead of roll back\) from the start.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:43:46.499718+00:00— report_created — created