Message queues are a way for different software components or applications to communicate with each other asynchronously by passing messages through a shared buffer. This allows a sender to send a message without needing to wait for an immediate response from the receiver, which can help to improve the system’s performance, reduce latency, and allow components to operate independently. In this paper, we compared and evaluated the performance of four popular message queues: Redis, ActiveMQ Artemis, RabbitMQ, and Apache Kafka. The aim of this study was to provide insights into the strengths and weaknesses of each technology and to help practitioners choose the most appropriate solution for their use case. We primarily evaluated each technology in terms of latency and throughput. Our experiments were conducted using a diverse array of workloads to test the message queues under various scenarios. This enables practitioners to evaluate the performance of the systems and choose the one that best meets their needs. The results show that each technology has its own pros and cons. Specifically, Redis performed the best in terms of latency, whereas Kafka significantly outperformed the other three technologies in terms of throughput. The optimal choice depends on the specific requirements of the use case. This paper presents valuable insights for practitioners and researchers working with message queues. Furthermore, the results of our experiments are provided in JSON format as a supplement to this paper.
more »
« less
Message Optimality and Message-Time Trade-offs for APSP and Beyond
- Award ID(s):
- 2402835
- PAR ID:
- 10677725
- Publisher / Repository:
- ACM
- Date Published:
- ISBN:
- 9798400718854
- Page Range / eLocation ID:
- 299 to 309
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Abstract Water, the most abundant compound on the surface of the Earth and probably in the universe, is the medium of biology, but is much more than that. Water is the most frequent actor in the chemistry of metabolism. Our quantitation here reveals that water accounts for 99.4% of metabolites in Escherichia coli by molar concentration. Between a third and a half of known biochemical reactions involve consumption or production of water. We calculated the chemical flux of water and observed that in the life of a cell, a given water molecule frequently and repeatedly serves as a reaction substrate, intermediate, cofactor, and product. Our results show that as an E. coli cell replicates in the presence of molecular oxygen, an average in vivo water molecule is chemically transformed or is mechanistically involved in catalysis ~ 3.7 times. We conclude that, for biological water, there is no distinction between medium and chemical participant. Chemical transformations of water provide a basis for understanding not only extant biochemistry, but the origins of life. Because the chemistry of water dominates metabolism and also drives biological synthesis and degradation, it seems likely that metabolism co-evolved with biopolymers, which helps to reconcile polymer-first versus metabolism-first theories for the origins of life.more » « less
An official website of the United States government

