Design labs · 5 questions

Design a Distributed In-Memory Cache

"Design a distributed in-memory key-value caching system capable of serving millions of reads/sec across a sharded cluster with sub-5ms response times, high availability, and automatic node rebalancing."

In-memory caching is what allows modern web applications to scale beyond database throughput limits. However, clustering caches introduces distributed problems: partition balancing, node failures, cache invalidation, and hotkey thundering herds.

Work through the core decisions that separate a toy dictionary from production caching infrastructure.

Step 1 of 5

Requirements gathering

Which core requirements dictate the design of a distributed cache tier?

This scenario leans on Caching, Consistent Hashing and Scaling Basics. Reading one first is a recommendation, never a requirement — and doing the lab cold then reading is a perfectly good order.