Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Kafka a Message Queue or a Message Broker? [closed]

After going through a couple of articles explaining the difference between Message Queues and Message Brokers, I'm quite confused as to whether Kafka is a Message Queue or a Message Broker.

The main difference that I know is that Message Queue offer two types of models:

  1. Point to Point Messaging
  2. Publisher-Subscriber Model

whereas Message Brokers offer only the Publisher-Subscriber model.

In the case of Kafka, my understanding is that it offers Publisher-Subscriber Model.

Hence, I'm quite confused. Can someone please help me here ??

like image 791
Archit Avatar asked Oct 29 '25 08:10

Archit


1 Answers

Kafka can replace Message Queues (MQ), such as RabbitMQ or ActiveMQ for some implementations, but it is definitely not MQ. So this one is off the table.

A message queue consists of two components: a message broker and a client. The message broker is responsible for receiving and storing messages in a queue, and the client is responsible for sending and receiving messages from the broker.

from a Medium article here

Therefore, calling Kafka a Message Broker will also be confusing and probably inaccurate.

What may be causing this confusion, is the fact that the main server type in a Kafka Cluster is called a Broker, but as stated it does not define Kafka and should not be used as a synonym for its name. Most sources that I have read refer to Kafka as a Distributed Event Streaming Platform.

On a personal note, Kafka for me is a category of its own, so should only be called Kafka.. Hope I answered your question.

Some additional sources to look into

  1. Kafka Intro from Apache site
  2. Kafka Docs from Apache site
  3. Difference between Kafka and RabbitMQ from Simplilearn
like image 138
ng10 Avatar answered Nov 01 '25 11:11

ng10



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!