System design

Advanced

Absorb the flood at the edge

An extortion group has promised to flood a Paris ticketing site at 20:00, right when a concert goes on sale: 1.2 million requests per second for an hour, from a botnet of hundreds of thousands of machines. Keep real fans buying tickets.

Bots already send about 20,000 requests per second all day, and each one sends only about five per second, like a fan refreshing the page. The regional load balancer tops out at 250,000 requests per second and a regional WAF at 500,000. Blocking a real fan counts as an error.

What your design must achieve

  • Availability ≥ 99.8 %
  • Latency p99 < 250 ms
  • Abusive traffic let through < 5 %
  • Monthly bill < 22,000 $ bonus

What you will master