改进MQTT 5的5个关键特性

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。

采用全新工艺方法,超越微细化界限的世界最小※元器件“RASMID™系列”
诺基亚真旗舰回归诺基亚8不见来的是诺基亚9,是先发还是取代?
smt生产线流程介绍_smt生产线设备
基于虚拟仪器技术实现步进电机控制系统的设计
熵基科技正式发布生物识别门禁智能控制器
改进MQTT 5的5个关键特性
调节变频器的速度来实现精确电机控制
单片机的中断程序如何运行
《图学学报》—深度残差网络的无人机多目标识别
车载逆变器对汽车有损害吗?
为UHF局部放电在线监测系统设计最佳前端
数字压力传感器的组成结构和优点
华为将同系列的“基础款”与“Pro”款拉开距离 华为 P30 也不例外
PCIe 5.0对互联芯片的性能验证要求
基于车规级位置传感器AS5172的车载应用
KDDI采用Wind River Studio在日本推进5G Open vRAN站点商业部署
工业路由器的自助终端机组网的优势是什么
为什么要进行电路防护呢?电子设备进行电路保护的原因是什么呢?
智能照明系统LED驱动电路设计
有源晶振与无源晶振的区别在哪