Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

how is Kafka different from Mosquitto(MQTT) ?

SOLVED Go to solution
Highlighted

how is Kafka different from Mosquitto(MQTT) ?

Contributor

Kafka uses Producer/Consumer concept whime MQTT uses Subscribe/Publish concept ...so How Kafka is different from MQTT ?

Can Kafka handle more works than MQTT with its features ?

1 ACCEPTED SOLUTION

Accepted Solutions

Re: how is Kafka different from Mosquitto(MQTT) ?

Hi @Rahul Kumar

Beyond the fact that they are both called "pub sub brokers", Kafka and MQTT has different design goal. Without going deep into details, it's better to see MQTT as a communication protocol between several applications. It was designed to be extremely low light to fit into IoT and resource-constrained environment. For this, the objective is to distribute messages between different system and not to store large volume of data for long time.

At the other hand, Kafka is broker that can store large volume of data and for long time (or for ever). It was designed to be scalable and provide the best performances. Hence, a Kafka cluster usually use beefy machines. It's well suited for Big Data application and has integration with the big data ecosystem (Spark, Storm, Flink, NiFi, etc).

Depending on your application requirements the choice is usually easy to make. In lot of scenarios it's Kafka and MQTT. For IoT for instance, it's not rare to see MQTT at local level (gateway for example) for sensors/actuators communications, and Kafka at regional/center level for data ingestion, processing and storage.

Technically, there are lot of difference too in termes of quality of service, streaming semantics, internal architecture, etc

I hope this helps clarifies your mind.

2 REPLIES 2

Re: how is Kafka different from Mosquitto(MQTT) ?

Hi @Rahul Kumar

Beyond the fact that they are both called "pub sub brokers", Kafka and MQTT has different design goal. Without going deep into details, it's better to see MQTT as a communication protocol between several applications. It was designed to be extremely low light to fit into IoT and resource-constrained environment. For this, the objective is to distribute messages between different system and not to store large volume of data for long time.

At the other hand, Kafka is broker that can store large volume of data and for long time (or for ever). It was designed to be scalable and provide the best performances. Hence, a Kafka cluster usually use beefy machines. It's well suited for Big Data application and has integration with the big data ecosystem (Spark, Storm, Flink, NiFi, etc).

Depending on your application requirements the choice is usually easy to make. In lot of scenarios it's Kafka and MQTT. For IoT for instance, it's not rare to see MQTT at local level (gateway for example) for sensors/actuators communications, and Kafka at regional/center level for data ingestion, processing and storage.

Technically, there are lot of difference too in termes of quality of service, streaming semantics, internal architecture, etc

I hope this helps clarifies your mind.

Re: how is Kafka different from Mosquitto(MQTT) ?

Contributor

Thanks @Abdelkrim Hadjidj

I understood the difference

:)