
使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合
对负载内容屏蔽的消息传输
使用TCP/IP提供网络连接
有三种消息发布服务质量:至多一次、至少一次和只有一次
小型传输,开销很小,协议交换最小化,以降低网络流量
使用Last Will和Testament特性通知有关各方客户端异常中断的机制
MQTT 协议的工作原理是:
MQTT 客户端与 MQTT 代理建立连接,然后客户端可以发布消息、订阅特定主题的消息或同时执行这两项操作。MQTT 代理收到一条消息后,会将其转发给对此感兴趣的订阅者。

MQTT 协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。MQTT 协议中定义了一些方法(也被称为动作),来于表示对确定资源所进行操作,主要有 Connect、Disconnect、Subscribe、UnSubscribe 和 Publish。MQTT 协议的数据包结构由固定头(Fixed header)、可变头(Variable header)、消息体(payload)三部分构成。
MQTT 的应用场景很多,主要集中在物联网领域,比如智能家居、车联网、工业控制、远程监控等。

智能家居系统中的各种设备,如灯、空调、温度传感器等,可以作为 MQTT 客户端,向 MQTT 代理发布或订阅不同的主题,实现设备之间的数据交换和控制。
温度传感器可以向主题 sensors/temperature/out 发布当前的温度数据,空调可以订阅该主题,并根据温度数据调节自己的工作状态。
用户可以通过手机上的智能家居应用程序,向主题 livingroom/light 发布 on 或 off 消息,来控制客厅的灯的开关。