Kafka, geleneksel ileti kuyrukları (RabbitMQ gibi) ile önemli yönlerden farklılık gösterir — bir dağıtılmış günlük (distributed log) olup olayları tutar (tüketimde silmez), tekrar oynatmayı (replay) destekler, çok yüksek işlem hacmi sunar ve çekme tabanlı, bölüm tabanlı bir model kullanır. Farklılıkları anlamak, her birinin ne zaman kullanılacağını açıklar.
Temel farklılıklar
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
