Covers: Two-Phase Commit, Saga Pattern, Choreography vs Orchestration Sagas, Compensating Transactions, Idempotency

The Question That Breaks Most Microservices Designs

You're designing Uber's trip booking flow. A single trip booking touches multiple services:

1. Trip Service: create trip record

2. Driver Service: assign a driver, mark as unavailable