MQTT已成为将物联网(IoT)设备连接到云的流行协议。MQTT最初开发于1999年,用于监视卫星网络上的石油和管道。当时,需要一种协议,它对于电源有限的远程设备有效,带宽使用效率高并且能够在不可靠的网络连接上运行的协议。开发MQTT时,还没有创造出IoT这个术语,也没有云计算,也没有出现各种IoT使用案例。
由于这些原因,需要更新MQTT协议,以解决在大型云平台上托管MQTT和处理其他物联网用例所需的某些缺少的功能。在2015/2016年,OASIS内部开始研究新版本的规范MQTT5。在2019年3月,MQTT 5被批准为正式的OASIS标准。
MQTT中有许多新特性,但是有5个关键特性可以改进MQTT系统的错误处理、可伸缩性和灵活性。
会话和消息到期
MQTT 5现在允许每个会话和消息指定一个时间限制。如果消息在指定的时间段内未送达,则会将其删除。如果消息需要在一段时间内到达,这对于安全关键用例来说非常重要。
共享订阅
共享订阅允许多个MQTT客户端实例共享来自MQTT代理的相同主题的订阅。如果已设置MQTT客户端以将MQTT数据流传输到后端企业系统(例如数据库)中,则此功能非常有用。可以在不同的群集节点之间部署共享相同订阅的不同MQTT客户端,以帮助实现可伸缩性和高可用性。
否定确认(Negative Acknowledgements)
现在,支持MQTT 5的MQTT代理可以发送否定确认消息,以拒绝某些类型的消息,例如最大QoS,最大消息大小以及代理中不受支持的功能。拒绝超过最大消息大小的消息对于识别可能已变为恶意的MQTT客户端很有用。
有效载荷格式指示器(Payload Format Indicators)
MQTT一直是与负载无关的,但是MQTT 5现在允许添加负载格式指示符、二进制值或文本。这将使处理MQTT消息更加容易。
用户属性
除了有效载荷格式指示符之外,MQTT 5消息现在还可以包括用户属性,这些属性将键值属性添加到消息头中。这些属性允许将特定于应用程序的信息添加到每个消息头。
小结
MQTT社区正在逐渐包括对各种MQTT实现的MQTT 5支持,包括Eclipse Paho,Mosquitto和HiveMQ。如果您正在考虑在下一个物联网应用程序中使用MQTT,请强烈考虑使用MQTT 5。
-
物联网
+关注
关注
2951文章
48287浏览量
419840 -
MQTT
+关注
关注
5文章
747浏览量
25337
发布评论请先 登录
智能小家电低功耗设计的5个关键技术点
Onsemi NTMS5P02和NVMS5P02 MOSFET的特性与应用解析
安森美NTF5P03、NVF5P03 P沟道MOSFET的特性与应用解析
光伏稳压器选型避坑指南,5个关键参数必看
深入解析NVMFD5C466N双N沟道MOSFET:特性、参数与应用考量
LT1766/LT1766 - 5降压开关稳压器:特性、应用与设计要点
LTC1046 “Inductorless” 5V to –5V 转换器:特性、应用与设计要点
TI TS5V522C:5V 5位视频交换开关的深度解析
MQTT网关支持5G通信吗
5个关键技巧帮助您正确使用阳极氧化线
干式电力变压器选型指南:5个关键参数帮你避开90%的坑
信捷V5 - F5变频器接入到Profibus网络的关键
改进MQTT 5的5个关键特性
评论