Kafka berbeda dari message queue tradisional (seperti RabbitMQ) dalam cara-cara penting — ini adalah distributed log yang mempertahankan event (daripada menghapus saat dikonsumsi), mendukung replay, menawarkan throughput yang sangat tinggi, dan menggunakan model berbasis pull dan partition. Memahami perbedaannya mengklarifikasi kapan menggunakan masing-masing.
Perbedaan utama
TRADITIONAL QUEUE (e.g. RabbitMQ) → messages are typically DELETED once consumed:
→ a message goes to a consumer and is removed (transient)
→ push-based often; rich routing; per-message acknowledgment
KAFKA → a durable, retained LOG of events:
→ events are STORED (retained for a period), NOT deleted on consumption
→ multiple consumers/groups can read the SAME events independently
→ REPLAY → re-read past events (rewind to any offset)
→ pull-based; partition-based ordering and scaling; very high throughput
