Master of Science in Computer Science
First Committee Member
Second Committee Member
Third Committee Member
Fourth Committee Member
Number of Pages
Message queues are queues of messages that facilitate communication between applications. A queue is a line of messages or events waiting to be handled in a sequential manner. A message queue is a queue of messages sent between applications. It includes a sequence of work objects that are waiting to be processed. For a distributed system to work, it needs to pass information between various machines. No single machine is responsible for the entire system, but all information is interrelated. Hence a major concern of distributed systems is this transfer of data. Which also proves to be one of the most significant challenges. Message Queues provide this asynchronous communication between applications. Major factors behind the success of an application is the ability to decouple and scale it.
In this thesis, we focus on analyzing and comparing the performance of three most widely used open source message brokers namely Apache ActiveMQ, RabbitMQ and Apache Kafka which help in creating a distributed system. An end to end message queuing model is setup for each of the brokers to mimic real world application models. The producers, consumers and brokers that make up the message queuing system are then put through rigorous benchmarking tests to analyze their performance. The performance is evaluated based on major factors like throughput, latency and total time taken by the transaction. Based on the benchmarking results, it was observed that Apache Kafka which was initially developed to be a message queue but later enhanced to be a streaming platform outdid RabbitMQ and Apache ActiveMQ in almost all the performance factors. It was also observed that the larger the message size, more constant is the performance of all message brokers. Hence, for gauging the performance in hard times, the message sizes considered for the experiments is very small. This gives us a glimpse of the actual performance capabilities of the message queuing brokers.
ActiveMQ; Kafka; Message Queues; RabbitMQ
Raje, Sanika, "Performance Comparison of Message Queue Methods" (2019). UNLV Theses, Dissertations, Professional Papers, and Capstones. 3746.