When comparing Kafka vs RabbitMQ, the Slant community recommends RabbitMQ for most people. In the question“What are the best message queue servers?” RabbitMQ is ranked 1st while Kafka is ranked 4th. The most important reason people chose RabbitMQ is:
RabbitMQ is licensed under the Mozilla Public License. Because it's such a core part of a system, it's better that it's open source to avoid expensive licensing or consulting fees.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Optimized for performance
Kafka is optimized for supporting a huge number of users.
Pro Native mirroring support
Kafka has native support for mirroring.
Pro Native compression support
Kafka has native support for compression.
Pro Open Source
RabbitMQ is licensed under the Mozilla Public License. Because it's such a core part of a system, it's better that it's open source to avoid expensive licensing or consulting fees.
Pro Written in Erlang
Erlang is a fast concurrent language designed for non-stop, real time, message passing applications, which makes it a great language for a message queue.
Pro Backed by Pivotal Software
Although RabbitMQ is open source, it is still backed by Pivotal Software, giving it a stronger financial and developer backing. It also means there's a company to go to if you need help scaling in the future.
Pro Uses a Broker Architecture
Messages in RabbitMQ are sent to a central broker before being passed to clients. This makes RabbitMQ a better choice if you are in need of more complicated methods of message passing such as routing and load balancing.
Cons
Con Java is a resource hog
Java is a resource hog, making this far too slow unless you have money to throw at multiple servers with 1/2TB of ram.
Con Need Zookeeper
Kafka can only work with Zookeeper