Challenge
Sell 100 seats without overselling
100 seats, about a thousand buyers in the first second. The service reads the count, then writes it back one lower.
Two buyers reading the same count both succeed, so a seat is oversold. Make bookings concurrency-safe; losers get a clean 409.
Goodput
≥ 9.5%
every seed
Budget
$400/mo
★★ at ≤ $320
Traffic
1,000 req/s (constant)
deadline 250 ms
- Client
- Load balancer
- Service
- Database
- Dedup store
- Rate limiter
- Queue
- Worker
- Cache
- oversell