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
