As systems have grown bigger and bigger with time message brokers have become popular to help build better and more flexible designed systems. A message broker provides communication between services in a system while still keeping the components independent from one another. This thesis evaluates end-to-end latency and throughput of two of the most popular message broker software. The first message broker is Apache Kafka which uses a commit log to write all messages to disk and a message batching to optimize throughput. The second message broker is RabbitMQ which implements the standardized Advanced MessageQueuing Protocol and, contrary to Kafka, primarily stores messages in the main memory. The throughput and message latency of both brokers were tested by integrating them both in an established system with micro-services and sending messages from one service to another through the message brokers. Results showed that RabbitMQ reached the highest recorded throughput while sendinga large amount of data, and it also reached lower latency on individual messages sent without any queue build up. Kafka had more throughput and lower latency under smaller loads of data, but needs further configuration to become more effective as the default settings are limiting under heavy loads.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-197038 |
Date | January 2022 |
Creators | Boman, Martin |
Publisher | Umeå universitet, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | UMNAD ; 1322 |
Page generated in 0.0018 seconds