引言
EMQX 和 NanoMQ 都是由寰球当先的开源物联网数据基础设施软件供应商 EMQ 开发的开源 MQTT Broker。
EMQX 是一个高度可扩大的大规模分布式 MQTT Broker,可能将百万级的物联网设施连贯到云端。NanoMQ 则是专为物联网边缘场景设计的轻量级 Broker。
本文中咱们将对 EMQX 和 NanoMQ 这两个 Broker 进行具体的比照剖析。
EMQX 简介
EMQX 是目前寰球最具扩展性的 MQTT 音讯服务器,宽泛用于物联网、工业物联网(IIoT)和车联网(IoV)等各类要害业务场景。其应用 Erlang/OTP 开发,采纳了去中心化的分布式架构,具备高可用性并且反对横向扩大。
最新版本 EMQX 5.0 可能通过一个由 23 个节点组成的集群,反对高达 1 亿的 MQTT 并发连贯。
理解详情请浏览:高度可扩大,EMQX 5.0 达成 1 亿 MQTT 连贯
长处
- 反对大规模部署
- 反对集群,高度可扩大
- 高性能和高牢靠
- 提供丰盛的企业级性能
- 开箱即用的数据集成性能
毛病:
- 上手简单
- 难以无效治理
NanoMQ 简介
NanoMQ 是一个轻量级的 MQTT Broker,专为 IoT 边缘场景设计。它采纳纯 C 语言编写,基于 NNG 的异步 I/O 多线程 Actor 模型,齐全反对 MQTT 3.1.1 和 MQTT 5.0。
在单节点的场景下,NanoMQ 体现出很高的性能。其最为吸引人的长处是其轻便玲珑,具备高度的可移植性和兼容性。它能够部署在任何反对 POSIX 规范的平台上,并且能够在多种 CPU 架构上运行,包含 x86_64、ARM、MIPS 和 RISC-V 等等。
长处
- 设计笨重
- 具备高度的轻便性
- 占用启动空间小
- 部署不便
- 可能与无代理协定桥接
毛病
- 不反对程度扩大
- 社区和用户群规模较小
- 文档和教程不多
- 不反对集群
- 短少企业级性能(如数据集成)
社区状况
EMQX 和 NanoMQ 两个开源我的项目都托管在 GitHub 上。EMQX 自 2012 年推出以来,曾经成为最受欢迎的 MQTT Broker 之一,目前 Star 数为 11.4k。NanoMQ 是一个于 2020 年发动的新我的项目,处于初期阶段,目前有 800+ Star。这两个我的项目都在继续开发中,在过来的 12 个月里有数千次 Commit 提交。
性能个性
EMQX 和 NanoMQ 都齐全遵循 MQTT 3.1.1 和 MQTT 5.0 标准,反对 MQTT over WebSocket 和 SSL/TLS 加密,并且是率先反对 MQTT 新一代协定 MQTT Over QUIC 的 Broker。
EMQX 提供多个协定网关反对,包含 LwM2M/CoAP、MQTT-SN 和 Stomp。而 NanoMQ 则反对将边缘场景中去中心化的协定如 DDS、ZeroMQ 和 Nanomsg/NNG 等转换成 MQTT 音讯并与云端桥接。
两者都反对多种身份认证形式,包含用户名明码、JWT。EMQX 还额定反对 OAuth 2.0 身份验证和 IP 白名单 / 黑名单。
在企业级性能方面,EMQX 企业版提供了弱小的规定引擎和数据桥接性能,能够轻松地与 Kafka、SQL、NoSQL 数据库和云服务进行集成。
扩展性和性能
EMQX 因其极高的可扩展性和优异性能成为大规模物联网要害业务我的项目的首选。此外,其分布式的集群架构还保障了高可用性。
NanoMQ 基于 NNG 的异步 I/O 和多线程模型,具备优良的轻量级设计。它可能无效地利用 CPU 和内存资源,在古代 SMP 零碎上能够良好的反对多内核,并且其启动占用空间不到 200k,具备玲珑高效的特点。
简而言之,两者在性能、扩展性和可靠性方面与其余 MQTT Broker 相比都有很大的劣势。
可操作性和可观测性
EMQX 领有用户敌对的 Dashboard 和丰盛的 HTTP API,反对通过 StatsD、Prometheus 和 Grafana 进行监控。NanoMQ 部署简略、配置不便、治理便捷,但它在治理和监控方面还不够欠缺。
这两个 Broker 都绝对容易应用,然而 NanoMQ 的极简设计更利于初学者学习和把握 MQTT。
数据集成
NanoMQ 作为一个轻量级 Broker,没有提供数据集成性能。而 EMQX 提供了丰盛的数据集成,特地是运行在云端的企业版,能够通过内置的数据桥接性能与 Kafka、数据库和云服务实现无缝集成。
桥接 NanoMQ 到 EMQX
咱们能够将 NanoMQ 部署在物联网边缘端的小型设施或网关上,而后通过桥接性能把数据汇总和传输到云端的大型 EMQX 集群。
结语
EMQX 和 NanoMQ 是以后最沉闷的 MQTT Broker 我的项目,领有优良的开源社区和商业反对。
EMQX 凭借其扩展性、可靠性和丰盛的性能,成为物联网要害业务云端 MQTT 音讯服务的首选。而轻量、高效、低成本的 NanoMQ 则更实用于工业物联网和边缘物联网利用。
您能够依据本人的需要和场景抉择应用其中一个或两个配合应用。咱们置信这两个 MQTT Broker 将在将来引领 MQTT 技术创新。
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/emqx-vs-nanomq-2023-mqtt-broker-comparison