System Design: The Distributed Cache

Problem statement

A typical system consists of the following components:

  • It has a client that requests the service.
  • It has one or more service hosts that entertain client requests.
  • It has a database used by the service for data storage.