Design a scalable distributed message queue like Kafka. Explore topic partitioning, consumer groups, message retention, and high throughput writes.