Design
Distributed Message Queue (Kafka-like)
Design a distributed, durable message queue like Apache Kafka supporting topics, partitions, consumer groups, and replay.
This is a Low-Level Design (LLD) problem. New to LLD vs HLD? Start here.
01 - Why interviewers ask this
It's a from-scratch mini-Kafka — interviewers use it to see if you understand partitioning, consumer groups, and delivery guarantees at a conceptual level.
02 - Where this system exists in the real world
You interact with this design every day.
Kafka / RabbitMQ-style messaging infrastructure
Event-driven microservice communication
Log aggregation and stream processing pipelines
03 - What you'll master
Solve this once. Know it forever.
Design topic partitioning for parallelism
Model consumer groups and offsets
Reason about at-least-once vs. exactly-once delivery
04 - What you'll design
7 functional · 4 non-functional requirements.
Producers publish messages to named topics
6 more requirements inside
Sign in to unlock the full brief and start designing
05 - Companies that ask this
You may face this exact question in your next interview.
Ready?
Open the canvas.
Design it yourself.
See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.
More in Infrastructure