MQTT 5

MQTT 5 新特性

MQTT 5.0 在 MQTT 3.1.1 的基础上做了较大的改变且不做向下兼容。

MQTT 5.0 支持众多的新特性,EMQ X Broker 从 3.0 版本开始支持 MQTT 5.0 协议,是开源社区中第一个支持该协议规范的消息服务器,并且完全兼容 MQTT V3.1 和 V3.1.1 协议。

MQTT 5 功能亮点
check 用户属性

支持用户自定义属性,传输额外的自定义信息以扩充更多应用场景。

check 主题别名

通过将主题名缩写为小整数来减小 MQTT 报文的开销大小。

check 会话过期

把清理会话标志拆分成新开始标志,会话过期间隔时间可以在断开时修改。

check 流量控制

允许客户端和服务端分别指定未完成的可靠消息(QoS>0)的数量。

check 消息过期

允许消息在发布时设置一个过期间隔。

check 最大报文长度

允许客户端和服务端各自指定它们支持的最大报文长度。

check 所有确认报文原因码

所有响应报文均包含原因码,以方便调用方能确定请求的函数是否成功。

check 可选的服务端功能可用性

告知客户端服务端支持功能列表,避免客户端使用不支持功能。

check 所有确认报文原因字符串

为问题定位而设计的。

check 增强的认证

提供一种机制来启用包括互相认证在内的质询/响应风格的认证。

check 服务端断开

允许服务端发送 DISCONNECT 报文,以指示连接被关闭的原因。

check 订阅选项

提供主要用于定义允许消息桥接应用的订阅选项。

check 载荷格式和内容类型

允许在消息发布时指定载荷格式(二进制、文本)和 MIME 样式内容类型。

check 遗嘱延迟

提供指定遗嘱消息在连接中断后延时发送的能力。

check 请求/响应模式

规定 MQTT 请求/响应模式,提供响应主题和对比数据属性,控制响应消息被路由回请求的发布者。

check 服务端保持连接

允许服务端指定其希望客户端使用的保持连接值。

check 共享订阅

v3.1.1 中已实现,添加对共享订阅的支持,以允许多个订阅消费者进行负载均衡。

check 分配客户端标识符

服务端分配了客户标识符的情况下,向客户端返回此客户标识符。

check 订阅标识符

允许在订阅报文中指定一个数字订阅标识符,并在消息分发时返回此标识符。

check 服务端参考

允许服务端指定备用服务端。

MQTT 5 相关教程
zh-blog6
MQTT 协议是什么

随着 5G 时代的来临,万物物联的伟大构想正在成为现实。联网的物联网设备在 2018 年已经达到了 70 亿,在未来两年,仅智能水电气表就将超过10亿。

查看详情
zh-blog1
如何使用 MQTT 报文实现发布订阅功能

MQTT 协议通过交换预定义的MQTT控制报文来通信。

查看详情
zh-blog2
MQTT 5.0 - 发布订阅模式介绍

MQTT 协议的核心在于发布订阅模式,在本文中,我们将对这一模式进行深入的介绍。

查看详情
zh-blog3
MQTT 5.0 特性 | 保留消息

发布订阅模式虽然让消息的发布者与订阅者充分解耦,但也出现了一个隐含的问题,即订阅者无法主动向发布者请求消息,订阅者何时收到消息完全依赖于发布者何时发布消息,这在某些场景中就产生了不便。

查看详情
zh-blog4
MQTT 5.0 消息发布流程

MQTT 5.0 协议对部分 QoS 报文,以及报文处理的流程做了一些升级,本文对此这部分升级的内容做简单的介绍。

查看详情
zh-blog5
MQTT 5.0 协议介绍 — QoS服务质量

MQTT协议中规定了消息服务质量(Quality of Service),它保证了在不同的网络环境下消息传递的可靠性,QoS 的设计是 MQTT 协议里的重点。

查看详情
zh-blog7
MQTT 5.0 正式成为 OASIS 标准

作为 OASIS MQTT 技术委员会的一员,EMQ 在上周收到 OASIS 的一项公告:在最近的投票中,MQTT 5.0 标准以17票通过0票反对被批准为OASIS标准。

查看详情
zh-blog8
MQTT 主题的高级特性

MQTT 协议通过网络传输应用消息。应用消息通过 MQTT 传输时,它们有关联的服务质量(QoS)和主题(Topic)。

查看详情
zh-blog9
MQTT 遗嘱消息(Will Message)的使用

当客户端断开连接时,发送给相关的订阅者的遗嘱消息。以下情况下会发送 Will Message:

查看详情
zh-blog10
MQTT 与 Kafka

MQTT 与 Kafka 是完全不同的两个东西, MQTT 是协议,是一个技术标准,由 OASIS 技术委员会的成员(其成员多数为 IBM 和微软的顶级工程师)制订。

查看详情
zh-blog11
MQTT 5.0 新特性 |(一) 属性与载荷

MQTT 5.0 协议相比 MQTT 3.1.1 增加了很多属性,这些属性分布于报文的可变头部 ( Variable Header ) 和有效载荷 ( Payload ) 中。

查看详情
zh-blog12
MQTT 5.0 新特性 |(二) 原因码与 ACK

MQTT v3.1.1 协议只有 10 种返回码,这些返回码所能表示的含义很少,且相同的返回码的值在不同的报文中可以有不同的含义。

查看详情
zh-blog13
MQTT 5.0 新特性(三)有效载荷标识与内容类型

有效载荷标识(Payload Format Indicator)与内容类型(Content Type)是 MQTT 5.0 新引入的两个属性。

查看详情
zh-blog14
MQTT 5.0 新特性(四)Clean Start 与 Session Expiry Interval

MQTT v5.0 中的 Clean Start 与 Session Expiry Interval,对于有 MQTT v3.1.1 版本协议使用经验的朋友,一定不会感觉陌生,因为这两个字段与之前版本中的 Clean Session 非常相似。

查看详情