Originally published on mahdimolavi.ir . This is part 1 of Backend Notes, my series on .NET backend engineering.
Most web traffic follows the clock. Exam traffic follows the calendar. For weeks the system runs at a fraction of its capacity, and then, at the start time printed on every admission card, tens of thousands of students open the same exam in the same minute. The monthly average says almost nothing about that minute, and that minute is the only one anybody remembers.
At Gozine2 I designed and deployed a Redis Sentinel high-availability setup that carried 45,000 to 70,000 concurrent users at exam peaks. This note is about the reasoning behind that kind of setup: what Sentinel gives you, when Redis Cluster fits better, how to configure the .NET client, and the caching and testing habits that matter more than the topology.
The shape of the problem
Two properties make exam platforms unusual. The spike is synchronized : users arrive together because the exam has a start time.…