The launch page and the clock
Illustrative exampleNumbers here are illustrative: round figures to reason with, not measurements.
The launch page is static and served from a CDN, so millions of refreshes don’t reach our servers; a shared cache reuses a response for as long as its freshness lifetime allows (RFC 9111 (opens in a new tab)). The page checks a small open flag, itself cached for about a second.
Our servers’ clock decides when buying opens. The phone’s countdown is only a display, so the line refuses anyone before 10:00:00 by our time.
- At 09:59 the app loads the static launch page from the CDN.
- Every few seconds it checks the open flag, which the CDN refreshes from our drop state service.
- At 10:00:00 by our servers’ clock, the flag opens and the app joins the line.
- A request that arrives earlier is refused, whatever the phone says.
Diagram as text
Components: Shopper’s app (Client); CDN: static page, open flag (CDN); Drop state service (Service); Waiting room: refuses before 10:00 (Service). Connections: Shopper’s app → CDN: static page, open flag (page, flag); CDN: static page, open flag → Drop state service (refresh); Shopper’s app → Waiting room: refuses before 10:00 (join when open).
Read:Learn: High-level architectureLearn: Edge caching / CDN-first
Check yourself
Someone sets their phone two minutes ahead. What stops them buying at 09:58?
Show answerHide answer
Nothing on the phone decides. The line checks our servers’ clock and refuses anyone before the opening time, so a moved clock only changes what the countdown shows.