The communication model is the published-subscribed pattern, which consists of
three node roles – Publisher, Subscriber, and Broker. A publisher publishes its topic to Broker and one or more subscribers subscribe for the topic. Whenever the publisher publishes data, Broker will automatically relay it to all nodes subscribed to that topic.
Design and implement a simple command-line version of MQTT protocol
with the above functionality. So, the software will have three parts – publisher, broker, and subscriber.