comparison between Apache Kafka and RabbitMQ

Apache Kafka RabbitMQ
Creation year 2011 2007
License Apache (Open source) Mozilla Public License (Open source)
Programming language Scala Erlang
AMQP compliant No Yes
Officially supported clients in JAVA JAVA, .NET/C#, Erlang

‚Äč Table 1 – General information comparison between Apache Kafka and RabbitMQ

Continue reading “comparison between Apache Kafka and RabbitMQ”

Overall structure of RabbitMQ

RabbitMQ is an open source message broker middleware created in 2007 and that is now managed by GoPivotal.

Most of the operations are performed in memory. RabbitMQ is not “disk-oriented”:
messages are received by brokers via an exchange (i.e. a logical entry point that will decide based on some criteria in which queue(s) the broker should place a message) and then pushed to the registered consumers. The broker pushes randomly queued messages toward the consumers. They thus receive unordered messages, and do not need to remember anything about the queue state (as messages are unordered and pushed by the brokers. They do not and cannot fetch specific messages on their own). Messages are paged out to disc only if there is no more memory available, or if they are explicitly told to be stored.

Continue reading “Overall structure of RabbitMQ”