Flash-sale order placement
Your task
Design the order placement flow for a high-demand flash-sale system (think limited-stock ticket/sneaker drops): inventory is finite and contended, and an order must reserve stock, then collect payment, then confirm, with payment happening asynchronously (could take seconds to minutes). Reserved-but-unpaid stock must auto-release after a timeout so it isn't lost. Peak ~20,000 reservation attempts/sec on a few thousand SKUs. Describe how you prevent overselling and how you coordinate reserve to pay to confirm consistently.
It covers
- Inventory reservation
- Order payment saga
- Timeout release