Message Queue Telemetry Transport(遥测传输协议)
- MQTT 是一个基于 TCP 的发布订阅协议
特点
- 提供订阅/发布模式,更为简约、轻量,易于使用,针对受限环境(带宽低、网络延迟高、网络通信不稳定)
- 特别适合于网络代价昂贵,带宽低、不可靠的环境
- 能在处理器和内存资源有限的嵌入式设备中运行
- 使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合
- 使用 TCP/IP 提供网络连接
- 提供 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制
三种消息发布服务质量
-
“至多一次”(QoS==0)
- 消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送
-
“至少一次”(QoS==1)
- 确保消息到达,但消息重复可能会发生
-
“只有一次”(QoS==2)
- 确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量