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.