Blueprint — system design

Types · drag to reorder

Design a distributed cache

Design the cache itself, not a system that uses one: a fleet of in-memory nodes that other services get and set keys against. Persistence to disk is out of scope.

Requirements
  • Get and set a key from any calling service
  • Hold far more data than one machine can
  • A node failing does not take the cache down
  • Adding a node does not invalidate everything
Scale
Cached keys
10B
Requests
10M per second
Average value
1KB
Cache nodes
1,000

Draw the design on the board, fill in Your answer, then submit.

Loading board

Loading board