MQTT协议——摘自于MQTT官方文档中文版
MQ遥测传输(MQ Telemetry Transport,MQTT)是一个轻量级的基于代理的发布/订阅式消息传输协议,它的设计目标是开放、简单、轻量和易于实现。这些特征使它适用于各种受限环境,比如,但不限于:
• 网络代价昂贵,低带宽或不可靠。
• 在嵌入设备中运行,处理器和内存资源有限。
该协议的特性包括:
• 使用发布/订阅消息模式,提供一对多的消息分发,解除应用程序耦合。
• 消息传输对有效载荷内容不可知。
• 使用TCP/IP提供基础网络连接。
• 有3个消息发布服务质量级别:
·“至多一次”,消息发布完全依赖于底层TCP/IP网络。消息有可能丢失或重复。 这一级别可应用于如下情景,如环境传感器数据,丢失一次读记录无所谓,因 为很快下一次读记录就会产生。
· “至少一次”,确保消息到达,但消息重复有可能发生。
· “只有一次”,确保消息到达且只到达一次。这一级别可用于如计费系统等场
景,在计费系统中,消息丢失或重复可能会导致生成错误的费用。
• 轻量传输,开销很小(固定头部的长度只有2字节),协议交换最小化,以降低网
络流量。
• 提供一种机制,当客户端异常中断时,利用 Last Will 和 Testament 特性来通知有关
各方。