System Design By Google Standard: TicketMaster Example

Abracadabra
2 min readJul 10, 2024

To employ richer formatting support, my future system design docs will be shared via Notion Pages. On Medium post, I will mention the highlights of the design problem and interesting readers can decide whether to read the full version.

The topic today is TicketMaster design. The design doc is here.

This is one popular system design problem, like others, all solutions on the Internet suffers from serious shortcomings and are below the bar for L6 (Staff engineer) level interviews.

The hard questions of this design are the followings:

How to implement the temporary hold on a seat?

  • When a user requests to book it so that while the user pay on the 3rd party payment provider, others can’t book the seat.
  • The hold must be lifted if the user didn’t finish payment in time.

How to avoid double booking?

How to make sure no notification from the 3rd party payment provider is lost? Otherwise user paid but didn’t get the ticket.

How to scale efficiently to serve all bookings in the world? How to answer seat status query fast?

While each one can be answered relatively easily, we need a carefully crafted system to meet all challenges at the same time. I believe my design is the only one you can find on the Internet that solved all problems optimally: It can scale indefinitely and it’s minimal viable. Full design doc.

--

--