Το Kafka διαφέρει από τις παραδοσιακές ουρές μηνυμάτων (όπως το RabbitMQ) με σημαντικούς τρόπους — είναι ένα κατανεμημένο log που διατηρεί events (αντί να τα διαγράφει κατά την κατανάλωση), υποστηρίζει replay, προσφέρει πολύ υψηλή throughput, και χρησιμοποιεί ένα pull-based, partition-based μοντέλο. Η κατανόηση των διαφορών διευκρινίζει πότε να χρησιμοποιεί κανείς το καθένα.
Βασικές διαφορές
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
