Abstract

Publish–Subscribe systems facilitate the communication between services or applications. A typical system comprises the publisher, the subscriber, and the broker but, may also feature message queues, databases, clusters, or federations of brokers, apply message delivery policies, communication protocols, security services, and a streaming API. Not all these features are supported by all systems or, others may be optional. As a result, there is no common ground for the comparison of Publish–Subscribe systems. This paper presents a critical survey and taxonomy of Publish–Subscribe systems, of their design features and technologies. The concepts of message queuing, publish–subscribe systems, and publish–subscribe protocols for the cloud and the IoT are discussed and clarified. The respective evaluation is about seven state-of-the-art open-source systems namely, Apache Kafka, RabbitMQ, Orion-LD, Scorpio, Stellio, Pushpin, and Faye. For the sake of fair comparison, a minimum set of common features is identified in all systems. All systems are evaluated and compared in terms of functionality and performance under real-case scenarios.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call