消息队列遥测传输 (MQTT)物联网 (IoT) 的标准消息传递协议。 MQTT 遵循极其轻量级的发布-订阅消息传递模型,以可扩展、可靠且高效的方式连接物联网设备。

距离 IBM 于 1999 年发明 MQTT 已有 20 多年,距离我们于 2012 年在 GitHub 上推出最受欢迎的开源MQTT 代理之一EMQX也已有 10 年了。塑造物联网的未来:2023 年 7 个 MQTT 技术趋势

进入 2023 年并展望未来,我们可以预见 MQTT 技术的 7 个发展趋势,因为在新兴技术进步的推动下,MQTT 在物联网中的使用正在大幅且多样化地增长。

基于 QUIC 的 MQTT

快速 UDP Internet 连接 (QUIC)是 Google 开发的一种新传输协议,它在 UDP 上运行,旨在减少与建立新连接相关的延迟、提高数据传输速率并解决 TCP 的限制。

HTTP/3是最新的HTTP协议版本,使用QUIC作为其传输层。由于采用了 QUIC,HTTP/3 比 HTTP/2 具有更低的延迟和更好的 Web 应用加载体验。

MQTT over QUIC是自 2017 年首次发布 MQTT 5.0 规范以来MQTT 协议中最具创新性的进步。凭借多路复用和更快的连接建立和迁移,它有潜力成为下一代 MQTT 标准。

MQTT 5.0 协议规范定义了三种传输类型:TCP、TLS 和 WebSocket。基于 TLS/SSL 的 MQTT 广泛应用于生产中,以确保MQTT 客户端和代理之间的通信安全,因为安全性是 IoT 应用程序的首要任务。但速度较慢且延迟较高,需要 7 次握手,相当于 3.5 个 RTT,即 3 个 TCP 和 4 个 TLS 才能建立新的MQTT 连接

与 TLS 上的MQTT 相比,基于 QUIC 的MQTT 具有 1 RTT 连接建立时间和 0 RTT 重新连接延迟,确实更快且延迟更低。 QUIC 堆栈可以针对各种用例进行定制,例如在网络条件较差的情况下保持连接处于活动状态,以及需要低客户端到服务器延迟的场景。它将有利于具有不可靠蜂窝网络和低延迟工业物联网应用的联网汽车。通过 QUIC 采用 MQTT 预计将在未来的物联网、工业物联网 ( IIoT ) 和车联网 (IoV) 中发挥至关重要的作用。

EMQX是流行的开源 MQTT 代理,在其最新版本 5.0 中引入了MQTT over QUIC 支持。与 HTTP/3 一样,MQTT 协议的下一版本(MQTT 5.1 或 6.0)将在不久的将来使用 QUIC 作为其主要传输层。

MQTT 无服务器

云计算中的无服务器趋势标志着应用程序的设计、开发、部署和运行方式发生了突破性的范式转变。这种范例使开发人员能够专注于应用程序的业务逻辑,而不是管理基础设施,从而增强了敏捷性、可扩展性和成本效益。

无服务器 MQTT 代理将成为 2023 年的尖端架构创新。与传统的物联网架构相比,传统的物联网架构需要几分钟到几小时才能在云上创建 MQTT 托管服务或在本地部署它们,无服务器 MQTT 可以快速部署 MQTT 服务只需点击几下。此外,无服务器 MQTT 的真正价值主张不在于其部署速度,而在于其无与伦比的灵活性。

这种灵活性体现在两个关键方面:根据用户需求无缝扩展资源,以及与这种弹性架构相一致的即用即付定价模型。因此,无服务器 MQTT 有望推动 MQTT 的更广泛采用,降低运营成本并促进跨行业的创新和协作。我们甚至可能会为每个物联网和工业物联网开发人员看到一个免费的无服务器 MQTT 代理。

2023 年 3 月,EMQX Cloud 推出了全球首个无服务器 MQTT 服务,不仅为用户提供了仅 5 秒的极快部署时间,而且还提供了真正让无服务器 MQTT 脱颖而出的卓越灵活性。

MQTT 多租户

多租户架构是无服务器 MQTT 代理的重要方面。来自不同用户或租户的物联网设备可以连接到同一个大规模 MQTT 集群,同时保持其数据和业务逻辑与其他租户隔离。

SaaS 应用程序通常使用多租户架构,其中单个应用程序为多个客户或租户提供服务。在SaaS中实现多租户通常有两种不同的方式,例如:

  • 租户隔离:为每个租户提供单独的应用程序实例,在服务器或虚拟机上运行。
  • 数据库隔离:多个租户可以共享单个应用程序实例,但每个租户都有自己的数据库架构以确保数据隔离。

在 MQTT 代理的多租户架构中,每个设备和租户都被赋予一个单独且隔离的命名空间。此命名空间包括唯一的主题前缀和访问控制列表 (ACL),用于定义每个用户可以访问、发布或订阅的主题。

具有多租户支持的 MQTT 代理将减少管理开销,并为复杂场景或大规模物联网应用提供更大的灵活性。例如,大型组织中的部门和应用程序可以使用相同的 MQTT 集群作为不同的租户。

MQTT Sparkplug 3.0

MQTT Sparkplug 3.0 是MQTT Sparkplug的最新版本,MQTT Sparkplug 是由 Eclipse 基金会设计的开放标准规范。它定义了如何使用 MQTT 消息传递协议连接工业设备,包括传感器、执行器、可编程逻辑控制器 (PLC) 和网关。

MQTT Sparkplug 3.0 于 2022 年 11 月发布,具有一些关键的新功能和改进:

  1. MQTT 5 支持:MQTT Sparkplug 3.0 增加了对 MQTT 5 协议的支持,其中包括共享订阅、消息过期和流控制等多项新功能。
  2. 优化的数据传输:MQTT Sparkplug 3.0 对数据传输进行了多项优化,包括使用更紧凑的数据编码和压缩算法。
  3. 扩展数据模型:MQTT Sparkplug 3.0 引入了扩展数据模型,允许传递更详细的设备信息,以及配置数据和设备元数据等附加信息。
  4. 改进的安全性:MQTT Sparkplug 3.0 对安全性进行了多项改进,包括支持相互 TLS 身份验证和改进的访问控制机制。
  5. 简化的设备管理:MQTT Sparkplug 3.0 对设备管理进行了多项改进,包括自动设备注册和发现、简化的设备配置和改进的诊断。

MQTT Sparkplug 旨在简化不同工业设备的连接和通信,实现高效的工业数据采集、处理和分析。随着新版本的发布,MQTT Sparkplug 3.0有望在工业物联网中得到更广泛的应用。

MQTT统一命名空间

统一命名空间是基于 MQTT 代理构建的解决方案架构,适用于工业物联网和工业 4.0。它为 MQTT 主题提供统一的命名空间,并为消息和结构化数据提供集中存储库。

统一命名空间使用中央 MQTT 代理通过星形拓扑连接工业设备、传感器和应用程序,例如 SCADA、MES 和 ERP。统一命名空间通过事件驱动的架构极大地简化了工业物联网应用程序的开发。

在传统的工业物联网系统中,OT 和 IT 系统通常是分离的,并以其数据、协议和工具独立运行。通过采用统一命名空间,可以让OT和IT系统更高效地交换数据,最终实现物联网时代OT和IT的统一。

2023 年,借助最新开源 IIoT 连接服务器Neuron Gateway赋能的EMQXNanoMQ MQTT代理,构建由 IT 界最先进技术赋能的 UNS 架构指日可待。

MQTT 地理分布

MQTT Geo-Distribution 是一种创新架构,允许部署在不同区域或云中的 MQTT 代理作为单个集群一起工作。使用地理分布,MQTT 消息可以在不同区域的 MQTT 代理之间自动同步和传递。

到 2023 年,我们预计有两种方法来实施 MQTT 地理分布:

  • 单集群、多区域:单个 MQTT 集群,代理在不同区域运行。
  • 多集群、多云:不同云中的多个 MQTT 集群通过 Cluster Linking 连接。

我们可以结合这两种方法,跨地理分布的 MQTT 代理创建可靠的 IoT 消息传递基础设施。通过采用 MQTT 地理分布,组织可以跨多云构建全球 MQTT 接入网络,其中从最近的网络端点本地连接的设备和应用程序可以相互通信,无论其物理位置如何。

MQTT 流

MQTT Streams 是 MQTT 协议的预期扩展,可在 MQTT 代理中实时处理大容量、高频数据流。此功能增强了传统 MQTT 代理的功能,这些代理最初是为轻量级发布/订阅消息传递而设计的。通过 MQTT Streams,客户端可以以流的形式生成和使用 MQTT 消息,类似于 Apache Kafka 的工作方式。这允许历史消息重放,这对于事件驱动的处理至关重要,确保最终的数据一致性、审计和合规性。

流处理对于从物联网设备传感器生成的大量数据中提取实时业务价值至关重要。以前,这需要一个过时的、复杂的大数据堆栈,涉及将 MQTT 代理与 Kafka、Hadoop、Flink 或 Spark 集成以进行物联网数据流处理。

然而,通过内置的流处理,MQTT Streams 简化了 IoT 数据处理堆栈,提高了数据处理效率和响应时间,并为 IoT 提供了统一的消息传递和流平台。通过支持消息重复删除、消息重放和消息过期等功能,MQTT Streams 可实现高吞吐量、低延迟和容错,使其成为在基于 MQTT 的 IoT 应用程序中处理实时数据流的强大工具。

结论

总体而言,MQTT 技术的这 7 个趋势反映了新兴技术的进步及其在推进物联网方面的作用。随着标准消息传递协议发展了二十多年,MQTT 的重要性不断增长。随着物联网在各行业的应用不断增加,MQTT协议不断发展以满足新的挑战和需求,例如更快、更低延迟的连接、更快速的MQTT服务部署、复杂场景或大规模物联网应用的更大灵活性、以及对连接各种工业设备的更多支持。随着这些发展,MQTT 将成为物联网的神经系统,并在 2023 年及以后成为工业物联网和车联网中更加重要的参与者。