Design a Distributed Message Queue

Hard · System Design · about 45 minutes

Asked at LinkedIn, Oracle, Cisco, Databricks, Uber, MongoDB, IBM, Confluent, Dell Technologies, Nutanix.

Design a distributed message queue like Kafka. Producers publish to topics; many independent consumer groups read every message at their own pace, consumers within a group share the work, and messages with the same key stay in order. Handle ~1M messages per second, retain data for 7 days for replay, and survive broker failures without losing acknowledged messages.

Related guides