Data & Consistency
Distributed transactions coordinated via local commits and compensating actions
Break long-lived, cross-service transactions into a sequence of local steps. Use compensations to undo effects when steps fail, coordinated by orchestration or choreography.
When a business process spans multiple services with distinct data stores and you cannot use two-phase commit.
Orders/payments/booking flows spanning multiple services.
# Orchestrator outline
orchestrate():
step1 = svcA()
step2 = svcB()
if fail: compensate()
Driver onboarding and trip workflows
Global multi-step processesBooking flights/hotels/cars with compensations
Millions of bookingsOrder, payment, inventory reservations
Peak seasonal trafficOrchestrator scales; steps are local
High - Compensation and coordination
Medium - Infra + engineering effort