SOUZA, Ronan de Araújo.
Résumé:
This paper aims to compare two of the most used publish/subscribe systems: Apache Kafka and RabbitMQ. Publish/Subscribe (pub/sub) is a pattern that is used to enable
asynchronous communication between different applications, it usually is implemented in the form of a message queue that holds the content sent by producers and delivers it to consumers. With Apache Kafka and RabbitMQ being the most common pub/sub platforms, each one having its characteristics, the question of how to properly compare them and how to choose the best fit for a specific application always comes up to mind.
To answer this question, we define the core functionalities of pub/sub systems and compare how each platform implements it, as well as present the results of a benchmark to measure quantitative metrics and point out distinct aspects of each one. In the end, we list the main use cases for publish/subscribe systems and which tool is best suited based on all results previously obtained.