Java Message Service Based Performance Comparison of Apache ActiveMQ and Apache Apollo Brokers - Sarhan, Qusay I.; Gawdan, Idrees S. (Science Journal of University of Zakho, 2017)
Software integration is a crucial aspect of collaborative software applications and systems. It enables a number of different software applications, created by different developers, using different programming languages, and even located at different places to work with each other collaboratively to achieve common goals. Nowadays, a number of techniques are available to enable software integration. Messaging is the most prominent technique in this respect. In this paper, two leading open-source messaging brokers, Apache ActiveMQ and Apache Apollo, have been experimentally compared with each other with regard to their messaging capabilities (message sending and receiving throughputs). Both brokers support exchanging messages between heterogeneous and distributed software applications using several messaging mechanisms including Java Message Service (henceforth JMS). A number of experimental test scenarios have been conducted to obtain the comparison results that indicate the one-to-one JMS messaging performance of each broker. Overall performance evaluation and analysis showed that Apache Apollo outperformed Apache ActiveMQ in all test scenarios regarding message sending throughputs. Whereas, Apache ActiveMQ outperformed Apache Apollo in most test scenarios regarding message receiving throughputs. Moreover, the evaluation methodology (test conditions, test scenarios, and test metrics) proposed in this paper has been carefully chosen to be adopted by software developers to evaluate other messaging brokers to determine the acceptable level of messaging capabilities in distributed environments of heterogeneous software applications.