在前面的课程里,我们使用的是 MQTT 3.1.1 版本,也是目前支持和使用最广泛的版本。2017 年 8 月,OASIS MQTT Technical Committee 正式发布了用于 Public Review 的 MQTT 5.0 的草案。2018 年,MQTT 5.0 已正式发布,虽然目前支持 MQTT 5.0 的 Broker 和 Client 库还比较有限,但是作为 MQTT 未来的发展方向,我认为了解 5.0 的新特性还是很有必要的,也许看完你就想马上迁移到 MQTT 5.0 呢!
MQTT 5.0 在 MQTT 3.1.1 的基础上做了很多改变,同时也不是向下兼容的。在这里我挑了几个我认为比较实用的新特性进行介绍,这些新特性能够解决在 3.1.1 版本中较难处理的问题。
作为 MQTT 3.1.1 的后续版本,为什么版本号直接变成了 5.0?因为 3.1.1 在 CONNECT 的时候指定的 Protocol Version 为 4,所以后续版本只有使用 5 了。本节课核心内容:
- 用户属性(User Properties)
- 共享订阅(Shared Subscriptions)
- 消息过期(Publication Expiry Interval)
- 重复主题
- Broker 能力查询
- 双向 DISCONNECT