Last active
August 22, 2024 18:56
-
-
Save rahul619anand/6e3c83497e06d901c3e2209ac42eec9c to your computer and use it in GitHub Desktop.
Kafka vs RabbitMQ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RabbitMQ | |
* Written in Erlang | |
* Scaling strategies - is mostly vertical | |
* Supports topics and queues | |
* if you want to have high persistence guarantees, RabbitMQ ensures replication across the cluster and on disk on message send. | |
* Reliable message broker as we get acknowledgement (AMQP based) | |
* Use RabbitMQ if you have messages (20k+/sec) that need to be routed in complex ways to consumers, you want per-message delivery guarantees, you don’t care about ordered delivery, you need HA at the cluster-node level now, and/or you need 24×7 paid support in addition to forums/IRC. | |
* RabbitMQ is good for “slow” and unreliable consumers | |
Apache Kafka | |
* Scala | |
* Scaling strategies - is built from the ground up with horizontal scaling in mind | |
* Supports topics only | |
* Kafka offers the best performance and scalability. | |
* High-throughput distributed messaging system | |
* Use Kafka if you have a fire hose of events (100k+/sec) you need delivered in partitioned order ‘at least once’ with a mix of online and batch consumers, you want to be able to re-read messages, you can deal with current limitations around node-level HA (or can use trunk code), and/or you don’t mind supporting incubator-level software yourself via forums/IRC. | |
* Kafka is good for “fast” and reliable consumers | |
References | |
http://yurisubach.com/2016/05/19/kafka-or-rabbitmq/ | |
https://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment