Analyzing Parameter Sets For Apache Kafka and RabbitMQ On A Cloud Platform
Abstract: Applications found in both large and small enterprises need a communication method in order to meet requirements of scalability and durability. Many communication methods exist, but the most well-used are message queues and message brokers. The problem is that there exist many different types of message queues and message brokers with their own unique design and implementation choices. These choices result in different parameter sets, which can be configured in order to meet requirements of for example high durability, throughput, and availability. This thesis tests two different message brokers, Apache Kafka and RabbitMQ, with the purpose of discussing and showing the impact on throughput and latency when using a variety of parameters. The experiments conducted are focused on two primary metrics, latency and throughput, with secondary metrics such as diskand CPU-usage. The parameters chosen for both RabbitMQ and Kafka are optimized for maximized throughput and decreased latency. The experiments conducted are tested on a cloud platform; Amazon Web Services. The results show that Kafka outshines RabbitMQ regarding throughput and latency. RabbitMQ is the most efficient in terms of quantity of data being written, while on the other hand being more CPU-heavy than Kafka. Kafka performs better than RabbitMQ in terms of the amount of messages being sent and having the shortest one-way latency.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)