Abstract
Publish-Subscribe systems are designed to facilitate communication between services and applications. A typical system comprises the publisher, the subscriber, and the broker but, may also feature message queues, log files or databases for storing messages, clusters or federations of brokers and, apply message delivery policies, communication protocols, context manager for linked data, security services, and a streaming API. Not all these features are supported by all systems or, others may be optional. Therefore, there is no common ground for the comparison of Publish-Subscribe systems. The evaluation is about seven popular open-source and state-of-the-art systems namely, Apache Kafka, RabbitMQ, Orion-LD, Scorpio, Stellio, Pushpin, and Faye. All systems are evaluated and compared in terms of functionality and performance under real-case scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
References
Bees, D., Frost, L., Bauer, M., Fisher, M., Li, W.: NGSI-LD API: for Context Information Management (2019). https://www.etsi.org/images/files/ETSIWhitePapers/etsi_wp31_NGSI_API.pdf. (ETSI White Paper No. 31, 1st edition)
Bellavista, P., Corradi, A., Reale, A.: Quality of service in wide scale publish-subscribe systems. IEEE Commun. Surv. Tutorials 16(3), 1591–1616 (2014). https://ieeexplore.ieee.org/document/6803100
Chen, C., Vitenberg, R., Jacobsen, H.: OMen: overlay mending for topic-based publish/subscribe systems under churn. In: ACM International Conference on Distributed and Event-based Systems (DEBS 2016), pp. 105–116 (2016). https://doi.org/10.1145/2933267.2933305
Coglan, J.: Faye: Simple Pub/Sub Messaging for the Web (2021). https://faye.jcoglan.com
Corsaro, A., Querzoni, L., Scipioni, S., Tucci-Piergiovanni, S., Virgillito, A.: Quality of service in publish/subscribe middleware. In: Baldoni, R., Cortese, G. (eds.) Global Data Management, pp. 79–97. IOS Press (2006). https://ebooks.iospress.nl/volumearticle/22318
EGM: FIWARE STELLIO Context Broker (2021). https://stellio.readthedocs.io/en/latest/index.html
Esposito, C.: A tutorial on reliability in publish/subscribe services. In: ACM International Conference on Distributed Event-Based Systems (DEBS 2012), pp. 399–406 (2012). https://dl.acm.org/doi/10.1145/2335484.2335537
Fanout: Pushpin: Add push to your API (2021). https://pushpin.org
FIWARE: ORION-LD Linked Data Context Broker (2021). https://fiware-academy.readthedocs.io/en/latest/core/orion-ld/index.html
Khoury, J., Lauer, G., Pal, P., Thapa, B., Loyall, J.: Efficient private publish-subscribe systems. In: IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 64–71 (2014). https://ieeexplore.ieee.org/document/6899132
Narkhede, N., Shapira, G., Palino, T.: Kafka The Definitive Guide, Real Time Data and Stream Processing at Scale. O’Reilly Media, Newton (2017). https://kafka.apache.org/
NECTI: ScorpioBroker Documentation (2020). https://scorpio.readthedocs.io/_/downloads/en/latest/pdf/
Nikhil, A., Chandar, V.: Benchmarking Apache Kafka, Apache Pulsar, and RabbitMQ: Which is the Fastest? (2020). https://www.confluent.io/blog/kafka-fastest-messaging-system/
Oh, S., h. Kim, J., Fox, G.C.: Real-time performance analysis for publish/subscribe systems. Future Gener. Comput. Syst. (FGCS) 26(3), 318–323 (2010). https://dl.acm.org/doi/10.1016/j.future.2009.09.001
Privat, G.: Guidelines for Modelling with NGSI-LD (2021). https://www.researchgate.net/publication/349928709_Guidelines_for_Modelling_with_NGSI-LD_ETSI_White_Paper. ETSI White Paper
Sivaharan, T., Blair, G., Coulson, G.: Green: a configurable and re-configurable publish-subscribe middleware for pervasive computing. In: On the Move to Meaningful Internet Systems 2005: CoopIS, DOA, and ODBASE, pp. 732–749. Agia Napa, Cyprus (2005). https://link.springer.com/chapter/10.1007/11575771_46#citeas
Sporny, M., Longley, D., Kellogg, G., Lanthaler, M., Champin, P., Lindström, N.: JSON-LD 1.1: A JSON-based Serialization for Linked Data (2021). https://w3c.github.io/json-ld-syntax/. W3C Editor’s Draft
VMware: RabbitMQ: Messaging that Works (2021). https://www.rabbitmq.com
Xiao, D., Zhang, Y., Chen, J.: A real-time and reliable forwarding scheme of publish/subscribe system. In: International Conference on Measuring Technology and Mechatronics Automation, pp. 51–54 (2014). https://ieeexplore.ieee.org/document/6802634
Yigal, A.: Kafka vs. Redis: Log Aggregation Capabilities and Performance (2016). https://logz.io/blog/kafka-vs-redis/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Lazidis, A., Petrakis, E.G.M., Chouliaras, S., Sotiriadis, S. (2022). Open-Source Publish-Subscribe Systems: A Comparative Study. In: Barolli, L., Hussain, F., Enokido, T. (eds) Advanced Information Networking and Applications. AINA 2022. Lecture Notes in Networks and Systems, vol 449. Springer, Cham. https://doi.org/10.1007/978-3-030-99584-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-99584-3_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-99583-6
Online ISBN: 978-3-030-99584-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)