System design interview questionMediumObservability

Design a Distributed Logging System

Design a distributed logging system: services emit logs, you ingest at high volume, store cheaply, and allow later search/read.

Interview scope

Producer/Client β†’ Gateway/LB β†’ App β†’ Message Queue; workers β†’ Object Storage (+ optional DB index). No Client β†’ Queue/DB.

Functional requirements

  • Accept log events from many producers.
  • Buffer/ingest asynchronously.
  • Store logs durably and support query/read later.

Scale and quality goals

  • Write-heavy, bursty traffic β€” need a queue/buffer.
  • Raw log volume is huge β€” Object Storage for cheap retention.
  • Don’t block app servers on every log fsync in the request path forever.

Capacity assumption

Design for this scale

Assume ~1B log events/day (~12k events/s average); peaks much higher during incidents.

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 β†’