![]() MQTT 是物联网消息传输标准协议,其采用极其轻量级的发布订阅消息模型,以可扩展、可靠且高效的方式连接物联网设备。 自 1999 年 IBM 发布 MQTT 以来已经过去了二十多年,而自 2012 年 EMQ 在 GitHub 上发布开源 MQTT 消息服务器 EMQX,也已经过去了十年。如今,我们来到了各类新兴技术飞速进步的 2023 年,随着 MQTT 在物联网中的使用规模不断增长,场景更加多样化,我们可以预见在 MQTT 技术领域中将会出现以下 7 个发展趋势。 MQTT over QUICQUIC(Quick UDP Internet Connections)是由 Google 开发的一种新的传输协议,运行于 UDP 之上,旨在减少建立新连接所带来的延迟,提高数据传输速率,并解决 TCP 的一些限制。 下一代互联网协议 HTTP/3 使用了 QUIC 作为底层传输协议,为网络应用带来了比 HTTP/2 更低的时延和更好的加载体验。 MQTT over QUIC 是自 2017 年 MQTT 5.0 规范发布以来 MQTT 协议中最具创新性的进展。凭借多路复用、更快的连接建立和迁移等优势特性,其具有成为下一代 MQTT 协议标准的潜力。 MQTT 5.0 定义了三种传输类型:TCP、TLS 和 WebSocket。在物联网安全最佳实践中,MQTT over TLS/SSL 广泛用于生产环境以保护客户端和 Broker 之间的通信。然而它速度慢、延迟高,需要 3.5 个 RTT,即 TCP 3 次握手以及 TLS 4 次握手才能建立新的 MQTT 连接。 与 MQTT over TLS/SSL 相比,MQTT over QUIC 更快且延迟更低,在初次建立连接时仅需 1 RTT,并可以利用 0 RTT 连接恢复的特性来加速重连。QUIC 协议栈可以针对各种用例进行定制,例如在不稳定网络环境下,或是客户端到服务器更低延迟通信的场景。它能够在诸如移动网络下的车联网(IoV)以及要求极低时延的工业物联网(IIoT)场景下发挥重要作用,并有效提升其使用体验。 开源 MQTT 消息服务器 EMQX 在其最新的 5.0 版本中引入了 MQTT over QUIC 支持,是全球首个支持 MQTT over QUIC 的 MQTT 消息服务器。目前 EMQ 正以 OASIS MQTT 技术委员会成员身份积极推进 MQTT over QUIC 的标准化落地,可以预见在不久的将来,MQTT 也将和 HTTP/3 一样使用 QUIC 作为其主要传输层。 ![]() MQTT Serverless云计算中 Serverless 模式的兴起标志着应用的设计、开发、部署和运行方式发生了突破性的范式转变。这种模式下开发者将能够专注于应用的业务逻辑,无需管理基础设施,从而提高敏捷性、可扩展性和成本效益。 Serverless 模式的 MQTT 消息服务器将是 2023 年的一种前沿架构创新。传统的物联网应用需要数分钟甚至数小时才能在云上或在企业私有环境中部署 MQTT 消息服务,相比之下,Serverless MQTT 只需点击几下就能快速完成 MQTT 服务的部署。 除了极快的部署速度,Serverless MQTT 更大的价值在于其无可比拟的灵活性:根据用户需求对资源进行无缝扩展,以及与这种弹性架构相匹配的按量计费定价模式。Serverless MQTT 有望推动 MQTT 更广泛的应用,降低运营成本,激发不同行业的创新协作。我们甚至可能看到每个物联网和工业物联网开发者都能拥有一个免费的 Serverless MQTT 消息服务器。 2023 年 3 月,EMQX Cloud 推出了全球首个 Serverless MQTT 服务,为用户提供了 5 秒极速部署和更灵活的计费方式,帮助用户以更低的成本高效开发物联网应用。 MQTT 多租户架构多租户架构是实现 Serverless MQTT 服务的一个重要基础。来自不同用户或租户的物联网设备可以连接到同一个大规模的 MQTT 集群,同时保持其数据和业务逻辑与其他租户隔离。 在 SaaS 应用中多租户架构很常见,即一个应用为多个客户或租户服务。其通常有两种以下不同的实现方式:
在 MQTT Broker 的多租户架构中,每个设备和租户都有一个单独的、隔离的命名空间,包括一个独特的主题前缀和访问控制列表(ACL),用来定义用户可以发布或订阅哪些主题。 多租户 MQTT 消息服务器能够减少管理开销,并灵活支持复杂场景或大规模物联网应用场景。例如,一个大型组织中的部门和应用可以作为不同的租户使用同一个 MQTT 集群。 MQTT Sparkplug 3.0MQTT Sparkplug 是由 Eclipse 基金会设计的开放标准规范,其最新版本为 MQTT Sparkplug 3.0,它定义了工业设备的统一数据接入规范,能够通过 MQTT 协议连接各类工业传感器、动作执行器、可编程逻辑控制器(PLC)和网关。 MQTT Sparkplug 3.0 于 2022 年 11 月发布,具有以下关键的新功能和改进:
MQTT Sparkplug 旨在简化不同工业设备间的连接和通信,实现高效的工业数据采集、处理和分析。随着新版本的发布,MQTT Sparkplug 3.0 将会在工业物联网领域得到更广泛的应用。 MQTT 统一命名空间统一命名空间(Unified Namespace)是一个建立在面向工业物联网和工业 4.0 的 MQTT Broker 上的解决方案架构。它为 MQTT 主题提供了一个统一的命名空间,并为消息和结构化数据提供了一个集中的存储库。 统一命名空间使用中央 MQTT Broker ,以星形拓扑结构连接工业设备、传感器和应用程序,如 SCADA、MES 和 ERP。统一命名空间以事件驱动的架构极大简化了工业物联网应用的开发。 在传统的工业物联网系统中,OT 和 IT 系统通常是分开的,其数据、协议和工具均独立运行。通过采用统一命名空间,可以让 OT 和 IT 系统更有效地交换数据,最终实现物联网时代 OT 和 IT 的统一。 ![]() 如今,通过 EMQ 提供的开源 MQTT 消息服务器 EMQX 或 NanoMQ,结合工业协议网关软件 Neuron,用户将可以构建一个由 IT 界最先进技术支持的统一命名空间架构。 MQTT 跨域集群MQTT 跨域集群(MQTT Geo-Distribution)是一个创新架构,允许部署在不同地区或云上的 MQTT Broker 作为一个单集群一起工作。通过跨域集群,MQTT 消息可以在不同地区的 MQTT Broker 之间自动同步和传输。 有两种方法可以实现 MQTT 跨域集群:
我们可以将这两种方法结合,在跨区域部署的 MQTT Broker 之间创建一个可靠的物联网数据基础设施。通过 MQTT 跨域集群,企业可以建立一个跨多云的全球 MQTT 接入网络。不管所处的物理位置在哪里,设备和应用都能从最近的节点接入实现相互通信。
|
|