System design interview questionEasyBasic System Component

Design a Distributed Session Store

Design a distributed session store: many app servers must read/write user sessions fast and consistently enough after login.

Interview scope

Client β†’ LB/Gateway β†’ App β†’ Cache (sessions). Optional DB for durable session backup. No Client β†’ Cache.

Functional requirements

  • Create a session after login.
  • Validate/read session on subsequent requests.
  • Expire or invalidate sessions (logout).

Scale and quality goals

  • Very low latency reads on every authenticated request.
  • Sessions must be shared across multiple app instances.
  • Don’t store the only copy of sessions only in one app’s local memory.

Capacity assumption

Design for this scale

Assume ~50M session reads/day (~580 RPS average) and far fewer creates/updates.

Practice more than a diagram

Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.

Explore Premium β†’