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 gatheringWhich 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.