Distributed checkout saga coordination
Your task
Design the checkout flow for a travel-booking platform where one purchase must reserve a flight (airline API), book a hotel (hotel API), charge the customer (payment service), and issue loyalty points (loyalty service), four independent services with their own datastores, no shared transaction. If any step fails, the whole booking must unwind cleanly with no orphaned charge or held inventory. Volume ~3,000 bookings/sec. Describe how you coordinate this without a 2PC and how you guarantee consistency and exactly-once effects under retries.
It covers
- Saga
- Compensation
- Cross service consistency