Content Summary | 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. | en |
Bibliographic Citation | A. Lazidis, K. Tsakos, and E. G. M. Petrakis, “Publish–Subscribe approaches for the IoT and the cloud: functional and performance evaluation of open-source systems,” Internet Things, vol. 19, Aug. 2022, doi: 10.1016/j.iot.2022.100538. | en |