Design seat booking for live events. Tickets for a popular event go on sale at a fixed time and a million people arrive at once. Seat maps and pricing tiers are out of scope.
Requirements
- Never sell the same seat twice
- Hold a seat while someone pays, then release it if they do not
- Stay up when demand is 20× the supply
- A confirmed booking is never lost
Scale
- Seats for a big event
- 50,000
- People arriving
- 1M within a minute of on-sale
- Payment step
- up to 5 minutes
- Ordinary load
- a few hundred requests per second
Draw the design on the board, fill in Your answer, then submit.