back

MQTT 5.0 正式成为OASIS标准

2019-03-15

作为OASIS MQTT技术委员会的一员,EMQ在上周收到OASIS的一项公告:在最近的投票中,MQTT 5.0 标准以17票通过0票反对被批准为OASIS标准。委员会将准备并发布作为OASIS标准的最终版,并在完成后通知委员会成员。

MQTT协议是一种基于客户端、服务器架构的、以发布和订阅方式传递消息的一种消息传输协议。MQTT是一种轻量的、开放的、易用的和易实现的协议,这些特性使MQTT能够适应不同的使用环境,包括资源受限的场景,比如M2M通讯和各种物联网应用场景。此次通过的MQTT 5.0是自2014年的3.1.1版本以来的一次重要的协议升级,新协议能适应近年来行业发展的新需求,同时也为未来物联网行业发展的做了协议上的准备。

EMQ公司从成立到现在,我们EMQ一直致力于为整个物联网行业提供最好的MQTT协议产品,同时也在积极的参与MQTT标准的制定。从2018年起,EMQ就在OASIS MQTT 技术委员会中拥有投票权,是目前为止唯一的拥有投票权的中国公司。

在EMQ的产品线中,EMQ X 2.X版本实现了MQTT 3.1.1标准,已经被国内外各行各业广泛应用,其中既有世界五百强的巨头公司,也有伴随着物联网浪潮而来的新兴企业。EMQ作为行业的领导者,对于MQTT 5.0的支持也走在行业的的前列,EMQ X 3.0 开源版已于2018年9月支持MQTT 5协议,是业内首个支持MQTT 5 的开源消息中间件产品。这次OASIS将MQTT 5.0纳入正式标准,我们预见,在不久的将来,MQTT 5 将会迅速普及。

和MQTT3.1.1标准相比,MQTT 5.0带来了不少贴合应用的新特性,我们在这里列举一些比较重要的特性:

  1. 增加了会话和消息的过期,用以改善老版本中clean session不够灵活的地方;
  2. 增加了原因码和原因字串,给用户一个更明确的的错误报告方式;
  3. 定型了一些通用范式,例如能力发现和请求响应等;
  4. 新的扩展机制,包括用户自定义属性(User Properties);
  5. 对共享订阅的协议支持(此前标准无共享订阅的内容,共享订阅由各个软件厂商自已定义,不具备通用性);
  6. 新增了大量的消息属性,使得客户端应用的开发更为灵活等。

完整的新属性列表包含在协议标准的附录C,您可以在以下网址获得: http://docs.oasis-open.org/mqtt/mqtt/v5.0/cs02/mqtt-v5.0-cs02.html#AppendixC EMQ后续会以专题系列的形式,向各位读者详细介绍MQTT 5.0标准。