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 β