In the table below we've outlined the biggest differences and similarities between Apache Kafka and RabbitMQ.
|What it is?||RabbitMQ is a solid, mature, general purpose message broker that supports several standardized protocols such as AMQP||Apache Kafka is a message bus optimized for high-ingress data streams and replay|
|Primary use||High-throughput and reliable background jobs, communication and integration within, and between applications.||Build applications that process and re-process streamed data on disk|
|License||Open Source: Mozilla Public License||Open Source: Apache License 2.0|
|Written in||Erlang||Scala (JVM)|
|Client libraries||Many mature libraries, including: Ruby, Python, Node.js, Clojure, Go, Java and C||Many, including: Ruby, Python, Node.js and Java|
|Support for HA||Yes||Yes|
|Complex routing scenarios||Yes||No|
|Scaling strategies||Mostly vertical||Built from the ground up with horizontal scaling in mind|
|Hosted solution & Enterprise Support||Available from CloudAMQP||Available from CloudKarafka|
Contact us and we can guide you along the road, independent of if that road leads towards Apache Kafka, or RabbitMQ.