يختلف Kafka عن طوابير الرسائل التقليدية (مثل RabbitMQ) بطرق رئيسية — فهو سجل موزع يقوم بالاحتفاظ بالأحداث (بدلاً من حذفها عند الاستهلاك)، ويدعم إعادة التشغيل، ويوفر معدل إنتاجية عالي جداً، ويستخدم نموذج قائم على السحب والتقسيم. فهم الاختلافات يوضح متى يتم استخدام كل منهما.
الاختلافات الرئيسية
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
