HLDArena
HLD-323·Transactions & Locking
Hard · 1,500 pts

High-Concurrency Timed Online Auction & Sniping Guard

Design eBay / StockX’s live auction bidding backend where thousands of bidders fire last-second "snipe" bids on the same closing lot with strict monotonic high-bid ordering.

Max p99
≤ 110 ms
Availability
≥ 99.4%
Budget
≤ $7,900

Functional Requirements

  • FR-1POST /auctions/{auction_id}/bids — Atomically validates `bid > current_high_bid` and extends soft-close timer.
  • FR-2GET /auctions/{auction_id} — Returns authoritative current high bid, bidder alias, and remaining milliseconds.
  • FR-3DELETE /auctions/{auction_id}/bids — Releases canceled or expired leases/holds atomically and immediately refreshes cached availability.
  • FR-4Must never accept a lower bid over a higher bid or lose winning bids on primary DB crash.

Workload Profile

Active Browsing36,000 Watch Read RPS / 4,500 Bid Write RPS
Final-10s Sniping Frenzy96,000 Read RPS / 25,000 Concurrent Bid RPS
Active Working Set18 GB closing auction books & escrow holds
Contention ProfileExtreme write serialization on rare collectible auction_id lots

Consistency Model

Strict linearizable/serializable monotonic high-bid CAS + RPO = 0 quorum replication.

Design Write-up
0 boxes · 0 edges
0 words
Hidden Cases #4–#7 run automatically on Submit
Case 1: Smoke & API ContractInput Workload
Read RPS
2,000 rps
Write RPS
400 rps
Key Distribution
Uniform (Low Skew)
Chaos Fault
None (Healthy Cluster)
Expected Pass CriteriaASSERTIONS
• Tail Latency: p99 ≤ 220 ms
• Availability: ≥ 99.4%
Valid end-to-end Client → Compute → Storage topology