Skip to content
Related Articles

Related Articles

Difference between Kafka and JMS

View Discussion
Improve Article
Save Article
  • Last Updated : 21 Jun, 2022
View Discussion
Improve Article
Save Article

Kafka is a publish-subscribe messaging system. The development credit of Kafka goes to Apache Software Foundation and hence it is famous with the name Apache Kafka. It is built using Java and Scala programming languages. Kafka is an open-source system. LinkedIn is known to be its original author. It was first launched in 2011 and its latest release was in January 2022.

JMS stands for Java Message Service so it is a messaging service used for communication between computers over a network.  It is basically an API which means Application Programming Interface for sending and receiving messages. JMS uses a point-to-point model for communication.

 

Below is a table of differentiation between Kafka and JMS:

 

Kafka

JMS

1. Kafka is a messaging set-up that the transactions were built by Apache Software Foundation  JMS means Java Message Service and it was developed by Sun Microsystems.
2. A large amount of data can be processed because of its distributive nature. It is not a distributive system and hence only a small amount of data can be processed.
3. Transaction support was not available in the first version of Kafka. JMS supports transactions from starting.
4. Throughput of Kafka is higher as compared to JMS. JMS has lower throughput as compared to Kafka.
5. Order of messages is maintained. The order of messages is not maintained.
6. Filtering messages is not possible in Kafka. JMS provides the functionality of filtering messages.
7. Kafka is a pulling-based messaging system. JMS is a pushing-based system.
8. Kafka offers scalability functionality. JMS is not scalable.
9. Kafka producers don’t wait for acknowledgments from the Broker. So, Brokers can write messages at a very high rate. On the other hand, JMS maintains the delivery state of every message. 
10. It is a reactive programming style. It is an imperative programming style.
11. Messages can be re-read as they are not deleted once consumed. Messages cannot be re-read as they are deleted once consumed.
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!