MQTT is a publish/subscribe protocol, one of the popular protocols being used for M2M (Machine to Machine) communications.
The two main components of MQTT are the MQTT clients and the MQTT broker.
The MQTT clients publish messages to a particular topic or, subscribe and listen, to a particular topic. The MQTT broker receives all published messages from MQTT publishers and forward the relevant messages to all MQTT subscribers. Subscribers and publishers do not have to be aware of each other, only the topics and messages are relevant. To properly communicate, publishers and subscribers have to agree to use a common topic name and message format.