Report card day for a school district portal
Your task
Design how a school district's parent portal survives report card day. Normally the portal sees about 20 requests a second. At 8 am on report card day, 60,000 families get an email and a text saying grades are published, and traffic jumps to about 2,000 requests a second for the first half hour; last term the site went down and the help desk was flooded. The portal runs on 3 app servers and one Postgres database. A report card is a page of grades for one student plus a downloadable PDF, and every parent must sign in to see it. Describe what you change so the spike is handled, including caching, the database, the PDFs and how the notifications go out.
It covers
- Traffic spikes
- Precomputation
- Staggered notifications