Ticketmaster
0-day streakReview

Your progress

Level 1

0 XP100 XP to level 2
0day streak
0best streak
0topics started
0cards reviewed
    Review cards

    Progress is stored only in this browser. No account is required.

    Design Ticketmaster (BookMyShow): the 60-second story

    Design Ticketmaster

    Noon. Two million fans. 60,000 seats. Each sells exactly once.

    At Taylor Swift’s Eras Tour on-sale, Ticketmaster saw 3.5 billion requests, four times its previous peak.

    Two fans click C-K-14 at once

    Bad: Read, then write

    Both read “free”, both write HELD. One seat, two tickets.

    Good: One conditional UPDATE

    Set HELD only if still free. The loser updates 0 rows and gets 409.

    1M/s

    requests if nothing stands in the way

    Two million fans retrying every 2 seconds is about 70× the everyday peak, all aimed at one event’s rows.

    Make the crowd wait where it can’t hurt you

    Each fan gets a signed place in line, polls one cached number, then swaps it for a signed token. Nothing touches the inventory database.

    200/s

    fans admitted while two million wait

    About 4 writes each is 800 a second on one event. If 40% buy, 3 tickets each, the show sells out in just over 4 minutes.

    60,000 shoppers watch one map as seats change hundreds of times a second.

    The trick

    Don’t chase a perfect map. Push a numbered delta each second. The map is a hint; the hold is the check.

    Your UPI payment lands two minutes after the window closes

    Freeze seats as PAYING for 15 minutes. If money still lands late, confirm only if the seats are yours or free; otherwise refund.

    Bots: make identity expensive before the sale

    1. Pre-register days ahead, invite a subset
    2. Check for bots once, at queue entry
    3. Bind each admission token to one account
    4. One active hold per account, capped hold time

    Remember

    Cache the browsing. Make every seat change one conditional statement. Let the crowd wait at the edge; the map is a hint, the hold is the check.