NanoMQ 开源项目使用教程
nanomq Ultra low latency messaging kernel 项目地址: https://gitcode.com/gh_mirrors/nan/nanomq
1. 项目介绍
NanoMQ 是一个面向物联网边缘计算场景的下一代轻量级高性能 MQTT 消息服务器。它于 2021 年初发布,旨在解决边缘计算环境中的数据处理和消息传递问题。NanoMQ 具有以下特点:
- 轻量级:启动内存占用小于 200KB。
- 高性能:支持百万级 TPS,比 Mosquitto 在多核 CPU 上快 10 倍。
- 异步 I/O:采用异步 I/O 模型,提高并发处理能力。
- 多线程支持:易于扩展,充分利用多核 CPU 资源。
- 跨平台:兼容 POSIX 标准,可在多种操作系统上运行。
NanoMQ 的 GitHub 仓库地址为:https://github.com/emqx/nanomq。
2. 项目快速启动
2.1 使用 Docker 启动 NanoMQ
你可以使用 Docker 快速启动 NanoMQ:
docker run -d --name nanomq -p 1883:1883 -p 8083:8083 -p 8883:8883 emqx/nanomq:latest
2.2 从源码构建并启动 NanoMQ
如果你更喜欢手动构建和启动 NanoMQ,可以按照以下步骤操作:
-
克隆项目仓库:
git clone https://github.com/emqx/nanomq.git cd nanomq
-
初始化子模块并构建项目:
git submodule update --init --recursive mkdir build && cd build cmake -G Ninja ninja
-
启动 NanoMQ:
./nanomq start
2.3 使用 NanoMQ MQTT 客户端
NanoMQ 提供了命令行工具 nanomq_cli
,可以用于发布、订阅和连接 MQTT 服务器。
-
发布消息:
nanomq_cli pub --url <url> -t <topic> -m <message> [--help]
-
订阅主题:
nanomq_cli sub --url <url> -t <topic> [--help]
-
连接 MQTT 服务器:
nanomq_cli conn --url <url> [--help]
3. 应用案例和最佳实践
3.1 物联网边缘计算
NanoMQ 适用于物联网边缘计算场景,可以在边缘设备上处理和转发数据,减少数据传输延迟和带宽消耗。例如,在智能家居系统中,NanoMQ 可以部署在网关设备上,负责处理传感器数据并将其转发到云端。
3.2 工业物联网(IIoT)
在工业物联网中,NanoMQ 可以用于实时监控和控制设备。例如,在一个工厂自动化系统中,NanoMQ 可以部署在边缘服务器上,实时收集和处理来自各种传感器和设备的数据,并将其发送到中央控制系统。
3.3 车联网(IoV)
NanoMQ 还可以用于车联网场景,支持车辆与云端、车辆与车辆之间的实时通信。例如,在一个智能交通系统中,NanoMQ 可以部署在车辆和路边单元(RSU)上,实现车辆之间的数据共享和协同控制。
4. 典型生态项目
4.1 EMQX
EMQX 是一个开源的分布式 MQTT 消息服务器,支持大规模物联网应用。NanoMQ 可以与 EMQX 配合使用,实现边缘到云端的数据无缝传输。
4.2 eKuiper
eKuiper 是一个轻量级的边缘流处理引擎,支持 SQL 语法进行数据流处理。NanoMQ 可以与 eKuiper 集成,实现边缘数据的实时处理和分析。
4.3 NNG
NNG 是一个轻量级的消息传递库,支持多种消息传递模式。NanoMQ 基于 NNG 构建,充分利用了 NNG 的高性能和可扩展性。
通过以上模块的介绍,你可以快速了解并上手使用 NanoMQ 开源项目。
nanomq Ultra low latency messaging kernel 项目地址: https://gitcode.com/gh_mirrors/nan/nanomq