2023 年最适用于工业物联网领域的三款开源 MQTT Broker

简介: 本文对比分析了 2023 年工业物联网领域最优秀的三款 MQTT Broker,介绍了它们的优点、缺点和应用场景。

MQTT 最初作为一种轻量级的发布/订阅消息传递协议而设计,如今已经成为工业物联网(IIoT)和工业 4.0 发展的重要基础。它的意义在于实现了各类工业设备与云端的无缝连接,促进了运营技术(OT)和信息技术(IT)的融合。

本文对比分析了 2023 年工业物联网领域最优秀的三款 MQTT Broker,介绍了它们的优点、缺点和应用场景。同时,还展示了如何利用这三款 MQTT Broker,为您的工业物联网解决方案打造统一命名空间(UNS)架构。

项目概览

本文选取的开源 MQTT Broker 主要基于以下两个标准:

  • 开源项目的社区规模、受欢迎程度和项目活跃度。
  • 与资源受限的工业设备和网关的兼容性。

基于此,我们选出了三款最热门的开源 MQTT Broker:

  • EMQX:GitHub 上 Star 数最多的 MQTT Broker,拥有 11.6k Stars。EMQX 在启动时的内存占用约为 50M,支持集群功能。
  • Mosquitto:Star 数位居第二但是使用最为广泛的 MQTT Broker。它采用单线程架构,在启动时的内存占用不到 1M。
  • NanoMQ:目前最新且最活跃的 MQTT Broker 之一。它支持多线程和异步 IO,在启动时的内存占用约为2M。

以下是这三个项目在 GitHub 上的相关概况:

EMQX Mosquitto NanoMQ
Official Website EMQX Eclipse Mosquitto NanoMQ
GitHub Project EMQX GitHub Mosquitto GitHub NanoMQ GitHub
Project Created 2012 2009 2020
License Apache License 2.0 EPL/EDL License MIT License
Programming Language Erlang C/C++ C
Latest Release v5.0.23 (April 2023) 2.0.15 (Aug 2022) v0.17.0 (March 2023)
GitHub Stars 11.5k 7.2k 800+
GitHub Releases 260+ 60+ 75+
GitHub Commits 14k+ 2800+ 2000+
GitHub Commits (Last 12 Months) 3000+ 500+ 1200+
GitHub PRs 6000+ 600 780+
GitHub Contributors 100+ 110+ 20+

1. EMQX

EMQX 是一款高度可扩展的分布式 MQTT Broker,适用于企业级的工业物联网部署。它支持 MQTT 5.0、MQTT-SN、SSL/TLS、MQTT over QUIC 等多种协议。它通过 masterless 集群方式实现了高可用性和水平扩展性。

凭借在 GitHub 上的 11.5k 个 Star,EMQX 已经成为市场上最受欢迎的 MQTT Broker 之一。EMQX 项目于 2012 年启动,采用 Apache 2.0 许可证进行开源。EMQX 由 Erlang/OTP 编写,这是一种能够构建高度可扩展的软实时系统的编程语言。

EMQX 既可以在云端部署,也可以在边缘部署。在边缘,它可以与各种工业网关集成,例如 N3uronNeuron。在云环境中,EMQX 能够在 AWS、GCP、Azure 等主流的公共云平台上与包括 Kafka、数据库和云服务在内的多种技术无缝集成。

借助全面的企业级功能、数据集成能力、云托管服务和 EMQ 团队提供的商业支持,EMQX 广泛应用于工业物联网领域的多种重要场景。

EMQX MQTT Cluster

优点

  • Masterless 集群和高可用性
  • 具有高性能和低延迟
  • 提供丰富的认证机制
  • 即可以在边缘部署也可以在云端部署
  • 首个支持 MQTT over QUIC 的 MQTT Broker

缺点

  • 安装和配置相对复杂
  • CPU 和内存使用率较高

应用场景

  • 汽车制造
  • 钢铁制造
  • 石油和天然气
  • 半导体制造
  • 供水

2. Mosquitto

Mosquitto 是一个广泛使用的开源 MQTT Broker,隶属于 Eclipse 基金会,遵循 Eclipse 公共许可证(EPL/EDL 许可证)。截至 2023 年 3 月,它在 GitHub 上拥有超过 7k 个 Star。Mosquitto 支持 MQTT 5.0、3.1.1、3.1,并且提供了对 SSL/TLS 和 WebSocket 的支持。

Mosquitto 由 C/C++ 编写,采用单线程架构。其轻量级设计使得它非常适合在资源受限的嵌入式设备或工业网关上部署。Mosquitto 是跨平台的,可以在包括 Linux、Windows、macOS 在内的多种平台上运行。

Mosquitto

优点

  • 轻量级、占用资源少
  • 简单易用

缺点

  • 不支持多线程和集群
  • 不支持在云端部署

应用场景

  • 工厂自动化
  • 智能制造
  • 智能硬件

3. NanoMQ

NanoMQ 是一个最新的开源 MQTT Broker 项目,于 2020 年发布。它采用纯 C 语言编写,基于 NNG 的异步 I/O 多线程 Actor 模型,支持 MQTT 3.1.1、MQTT 5.0、SSL/TLS、MQTT over QUIC。

NanoMQ 的突出亮点是轻量级、快速、极低的内存占用,这使它成为一款在工业物联网中表现非常优秀的 MQTT Broker,因为在工业物联网中效率和资源优化非常重要。此外,NanoMQ 还可以用作消息总线,将 DDS、NNG、ZeroMQ 等协议转换为 MQTT,然后再将 MQTT 消息桥接到云端。

NanoMQ 具有高度的兼容性和可移植性,只依赖于原生的 POSIX API。这使得它可以轻松地部署在任何支持 POSIX 标准的平台上,并且能够在 x86_64、ARM、MIPS、RISC-V 等各种 CPU 架构上顺畅运行。

NanoMQ

优点

  • 支持多线程和异步 IO
  • 启动占用资源少
  • 可以与无代理协议桥接

缺点

  • 项目还处于早期阶段
  • 不支持集群

应用场景

  • 汽车制造
  • 机器人:边缘服务融合
  • 工业物联网边缘网关

横向对比

EMQX Mosquitto NanoMQ
Protocols MQTT 5.0/3.1.1
MQTT over QUIC
MQTT 5.0/3.1.1 MQTT 5.0/3.1.1
MQTT over QUIC
ZeroMQ & NanoMSG
Scalability Excellent Moderate Good
Availability Excellent Moderate Moderate
Performance Excellent Good Excellent
Latency Excellent Good Excellent
Reliability High High High
Security Excellent Excellent Good
Integrations Excellent Moderate Moderate
Compatibility Good Excellent Excellent
Ease of Use Good Excellent Good
Community Support Excellent Excellent Excellent

UNS:优化工业物联网项目的 Broker 部署

统一命名空间(UNS)是一种针对工业物联网和工业 4.0 的解决方案架构,它基于 MQTT Broker,为 MQTT 主题提供统一的命名空间,为消息和结构化数据提供集中的存储库。

本文提到的这三款 MQTT Broker 可以搭建 UNS 架构,形成一个协同的系统。其中,Mosquitto 和 NanoMQ 部署在工业网关上,EMQX 部署在云端作为集中式枢纽。这种配置使得工业物联网数据可以通过 MQTT 桥接器从边缘无缝地传输到云端,然后进行聚合和采集。

MQTT Unified Namespace

结语

通过前文的介绍和对比,我们可以看到,每个 MQTT Broker 都有其独特的优点,适合不同的部署场景。EMQX 具有高扩展性和企业级功能,适合在云端部署。Mosquitto 和 NanoMQ 快速、轻便,适合在工业网关上部署。

这三款 MQTT Broker 在工业物联网应用中都扮演着非常重要的角色,它们推动了 UNS 架构的实施,促进了 IT 和 OT 的融合。在具体的工业物联网项目中,您可以根据自己的需求对这些 Broker 进行自由搭配。您可以建立一个高度协同的系统,让这些 MQTT Broker 共同合作,充分发挥它们各自的优势。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/top-3-open-source-mqtt-brokers-for-industrial-iot-in-2023

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
|
消息中间件 人工智能 Apache
2025 OSCAR丨与创新者同频!Apache RocketMQ 邀您共赴开源之约
10 月 28 日,阿里云高级技术专家周礼分享如何基于 Apache RocketMQ 新特性构建异步化 Multi-Agent 系统。
164 22
|
3月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
易易互联科技有限公司是吉利集团旗下专注于换电生态的全资子公司,致力于打造安全、便捷、便宜的智能换电网络。公司依托吉利GBRC换电平台,基于电池共享与车辆全生命周期运营,已布局超470座换电站,覆盖40多个城市,计划2027年达2000座。面对海量设备高并发连接、高实时性要求及数据洪峰挑战,易易互联采用阿里云MQTT与RocketMQ构建高效物联网通信架构,实现稳定接入、低延迟通信与弹性处理,全面支撑其全国换电网络规模化运营与智能化升级。
271 1
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
|
7月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
2558 42
|
7月前
|
物联网
如何在腾讯云等平台搭建自己的物联网MQTT服务器Broker
物联网技术及MQTT协议被广泛应用于各种场景。本文介绍物联网MQTT服务助手下载,如何搭建自己的物联网平台,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
600 37
|
9月前
|
边缘计算 负载均衡 NoSQL
FreeMQTT Plus: 一个新型 MQTT Broker 集群的实现
FreeMQTT Plus 是一款基于 MQTT 协议的高性能消息中间件,采用分布式架构解决单点瓶颈问题。其核心由 Nginx 负载均衡器、黑(A)节点(MQTT Broker)、白(B)节点(消息路由)和日志(L)节点组成。通过无主从设计,支持高可用性、负载均衡与灵活扩展。针对会话同步、消息路由等挑战,FreeMQTT Plus 利用 MQTT5 特性定义元命令,实现节点间高效通信,无需依赖第三方组件。适用于物联网海量设备接入与高并发场景,为未来边缘计算和多级集群部署提供坚实基础。
1495 74
|
6月前
|
消息中间件 Apache 双11
Apache RocketMQ + “太乙” = 开源贡献新体验
Apache RocketMQ 是 Apache 顶级项目,源于阿里巴巴,历经多年双十一考验。RocketMQ 联合“太乙”平台启动开源竞赛,提供贡献价值评价与奖金激励(最高 5000 元),助力开发者成为社区核心成员。竞赛包含详尽教程与自动搭建环境,促进技术生态繁荣,推动分布式消息处理技术发展。欢迎加入,共创开源未来!
247 1
|
11月前
|
消息中间件 存储 Apache
恭喜 Apache RocketMQ、Apache Seata 荣获 2024 开源创新榜单“年度开源项目”
近日,以“新纪天工、开物焕彩——致敬开源的力量”为活动主题的“重大科技成就发布会(首场)”在国家科技传播中心成功举办,并隆重揭晓了 2024 开源创新榜单,旨在致敬中国开源力量,传播推广开源科技成就,营造中国开源创新生态。2024 年开源创新榜单由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办,中国开发者社区承办,以王怀民院士为首组建评审委员会,进行研讨评审,面向中国开源行业领域,遴选具有创新性、贡献度和影响力的开源项目、社区、应用场景与开源事件。在评审出的 10 个年度开源项目中,Apache RocketMQ、Apache Seata 成功入选。
404 102
|
9月前
|
监控 物联网 网络性能优化
【杂谈】-MQTT与HTTP在物联网中的比较:为什么MQTT是更好的选择
通过上述分析,可以看出MQTT在物联网应用中的确是更好的选择。其高效的通信模型、低带宽消耗、稳定的连接保持机制以及可靠的消息质量保证,使其在各种物联网场景中都能表现出色。开发者在设计和实现物联网系统时,应优先考虑采用MQTT协议,以充分发挥其在资源受限环境下的优势,提升系统的整体性能和可靠性。
1501 26
|
9月前
|
消息中间件 存储 Apache
恭喜 Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目”
恭喜 Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目”
225 1
|
9月前
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1135 19

热门文章

最新文章