A Fair Comparison of Message Queuing Systems

The production and real-time usage of streaming data bring new challenges for data systems due to huge volume of streaming data and quick response request of applications. Message queuing systems that offer high throughput and low latency play an important role in today’s big streaming data processing. There are several popular message queuing systems in production usage and also many in-lab message queuing systems in academia. These systems with different design philosopies have different characteristics. It is non-trivial for a non-expert to choose a suitable system to meet his specific requirement. With this premise, our primary contribution is to provide the community with a fair comparison among message queuing systems, using a standardized comparison metric and reproducible experimental environment. Five typical message queuing systems (including Kafka, RabbitMQ, RocketMQ, ActiveMQ and Pulsar) are evaluated qualitatively (in analysis) and quantitatively (in experimental results). This article also highlights the distinct features of each system and summarizes the best-suited use cases of each system. The fair comparison and the insight analysis provided in this article can help users choose the best-suited message queuing systems.

[1]  Jay Kreps,et al.  Kafka : a Distributed Messaging System for Log Processing , 2011 .

[2]  S.Suganthi,et al.  Cassandra-A Decentralized Structured Storage System , 2017 .

[3]  Benjamin Reed,et al.  Durability with BookKeeper , 2013, OPSR.

[4]  Neha Narkhede,et al.  Kafka: The definitive guide , 2017 .

[5]  Young Han Kim,et al.  Performance Analysis of RESTful API and RabbitMQ for Microservice Web Application , 2018, 2018 International Conference on Information and Communication Technology Convergence (ICTC).

[6]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[7]  Xia Liu,et al.  A Survey of Distributed Message Broker Queues , 2017, ArXiv.

[8]  W. Marsden I and J , 2012 .

[9]  Chunxiao Xing,et al.  Review for Message-Oriented Middleware , 2020, ICIOT.

[11]  Egon L. Willighagen,et al.  XMPP for cloud computing in bioinformatics supporting discovery and invocation of asynchronous web services , 2009, BMC Bioinformatics.

[12]  Alejandro P. Buchmann,et al.  Towards benchmarking of AMQP , 2010, DEBS '10.

[13]  Ralph Deters,et al.  Using REST based protocol to enable ABAC within IoT systems , 2016, 2016 IEEE 7th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON).

[14]  Matei Ripeanu,et al.  Amazon S3 for science grids: a viable solution? , 2008, DADC '08.

[15]  Philippe Dobbelaere,et al.  Kafka versus RabbitMQ: A comparative study of two industry reference publish/subscribe implementations: Industry Paper , 2017, DEBS.

[16]  Bhole Rahul Hiraman,et al.  A Study of Apache Kafka in Big Data Stream Processing , 2018, 2018 International Conference on Information , Communication, Engineering and Technology (ICICET).

[17]  Seif Haridi,et al.  Apache Flink™: Stream and Batch Processing in a Single Engine , 2015, IEEE Data Eng. Bull..

[18]  Nicolas Nannoni Message-oriented Middleware for Scalable Data Analytics Architectures , 2015 .

[19]  Tariq Rahim Soomro,et al.  Big Data Analysis: Apache Storm Perspective , 2015 .

[20]  Matthias Sax,et al.  Apache Kafka , 2019, Encyclopedia of Big Data Technologies.

[21]  Andrei F. Klein,et al.  An experimental comparison of ActiveMQ and OpenMQ brokers in asynchronous cloud environment , 2015, 2015 Fifth International Conference on Digital Information Processing and Communications (ICDIPC).

[22]  Richard Monson-Haefel,et al.  Java message service , 2000 .

[23]  Karthikeyan Ramasamy Unifying Messaging, Queuing, Streaming and Light Weight Compute for Online Event Processing , 2019, DEBS.

[24]  Saeed Shahrivari,et al.  Beyond Batch Processing: Towards Real-Time and Streaming Big Data , 2014, Comput..

[25]  Scott Shenker,et al.  Spark: Cluster Computing with Working Sets , 2010, HotCloud.

[26]  Soonwook Hwang,et al.  On the role of message broker middleware for many-task computing on a big-data platform , 2018, Cluster Computing.

[27]  Frank Salim,et al.  The Definitive Guide to HTML5 WebSocket , 2013, Apress.

[28]  Valeriu Manuel Ionescu The analysis of the performance of RabbitMQ and ActiveMQ , 2015, 2015 14th RoEduNet International Conference - Networking in Education and Research (RoEduNet NER).