Design a Distributed Message Queue (Kafka)

Advanced · 24 min read · High-Level Design, Case Studies: Advanced

Partitioned logs, replication and ISR, consumer groups and delivery semantics.

This is an Advanced lesson, part of Premium. What it covers:

  • 1. Clarify the problem
  • 2. Requirements
  • 3. Capacity estimation
  • 4. API
  • 5. Data model
  • 6. High-level design
  • 7. Deep dives
  • 8. Failure modes
  • 9. Trade-offs summary
  • 10. What interviewers look for
  • Interview questions
  • Practice
  • Further reading

Previous: Design a Distributed Key-Value Store · Next: Design Metrics Monitoring & Alerting