2021 年伊始,物联网开源根底软件领导者 EMQ 携手 NNG 为开源社区献上开年贺礼:面向边缘计算和 5G MEC 的开源轻量级边缘 MQTT 音讯引擎——NanoMQ(https://nanomq.io)。
NanoMQ 的正式问世填补了国产根底软件在此畛域的空白,将与边缘流式数据处理软件 Kuiper、消息中间件 EMQ X 和分布式流解决数据库 HStream 一起,造成 5G&IoT 的全场景音讯与流解决和全栈解决方案。
NNG & NanoMQ 单干
NNG(https://nng.nanomsg.org/)作为 Nanomsg(https://nanomsg.org/index.html)我的项目的衣钵传承者,是一个弱小的音讯总线库,反对 SP 协定和 HTTP/WebSocket 等拓展。在其优良的多线程模型和网络层 API 根底上,NNG 提供了各种丰盛的音讯模式反对,在物联网、工业管制、游戏、金融交易等畛域都有广泛应用。
EMQ 在我的项目晚期就开始了对其的继续关注,挖掘并优化了 NNG 的高效多线程模型。而后,EMQ 与 NNG 达成长期技术单干,将 NNG 作为底层音讯总线打造了 NanoMQ。将来,EMQ 将依附本人在 5G&IoT 畛域深厚的开发教训和产品施行落地能力,帮忙 NNG 集成更多泛用的物联网协定,拓宽其利用面。在 NanoMQ 我的项目单干的同时,也将通过开源社区技术反哺 NNG 我的项目,为其提供 MQTT 协定反对,使其能够作为一个性能优良的 MQTT SDK 应用。
NanoMQ 我的项目概述
NanoMQ 我的项目致力于交付实现实用于古代 IoT 和嵌入式平台的超轻量 MQTT 音讯引擎,通过高效的外部 IPC 能力,弥合边缘硬件和云端的架构差别,连贯物理世界与数字智能。接棒 EMQ X Edge,赋予边缘音讯汇聚再散发能力,进而为边缘计算利用开发提供便当。
NanoMQ 分为 3 个局部:
- nanolib:次要提供边缘数据缓存、MQTT 订阅关系存储和音讯路由能力。
- nanomq:是一系列工具和服务的入口,其中音讯引擎(Broker)性能是其次要性能,治理所有连贯,负责提供如状态告诉、钩子函数等性能。目前还有音讯队列 mq 性能。
- nanonng:是基于 NNG 优化的可用于 MQTT 协定的多线程模型和异步 IO 库。
NanoMQ 劣势特点
- 超轻量:安装包约 200KB 左右;不依赖于第三方的库与运行时,运行占用资源极小,依据编译和启动的配置,启动所需资源从 300Kb – 3Mb 不等。
- 多兼容 & 可移植:NanoMQ 采纳污浊 C/C++ 开发,只依赖于规范 POSIX API,具备绝佳的兼容性和可移植性,大小端兼容,无缝对接各类网络应用,可 0 老本迁徙到各类嵌入式平台。
- 可伸缩:得益于内置的异步 IO 架构和多线程模型,在做到轻量化的同时仍具备肯定可横向拓展的并发吞吐能力。能够不到 10MB 的内存耗费反对超过 10W 的音讯吞吐。
- 易调试:能够自行配置日志开关和级别,有残缺的调试接口和日志接口,与 syslog 规范兼容。不便进行边缘端的故障排查和追踪。
- SMP 反对:在边缘多核平台上,对 SMP 有良好反对,可能尽可能施展多处理器能力。
- 容器反对:能够通过容器进行部署运行。兼容支流边缘容器编排计划。
NanoMQ 倒退布局
目前 NanoMQ 残缺反对 MQTT 3.1.1 协定,局部反对 MQTT 5.0 协定。下一版本的布局中,还将具备边缘 MQTT 分布式桥接、嵌入式规定引擎和边缘音讯缓存等性能。
将来 EMQ 将与 NNG 一起集成反对包含 ZMQ、MQTT 等在内的更多罕用 IoT 协定反对,优化多线程模型,进步吞吐,欠缺网络 IPC 能力。使宽广开发者辞别繁冗的 SDK 集成,取得一站式物联网开发体验,摸索音讯引擎在边缘计算畛域的更广泛应用,减速各类边缘计算利用的开发和落地。
同时 NanoMQ 还将集成 NNG 已有的 SP 协定,进步与 NNG 的开源协同配合度,实现底层 API 相互兼容。
NanoMQ 在边缘计算中的利用
在边缘端并非所有的音讯数据都须要上云,须要有极强的边缘自治和业务自洽能力,因而一个边缘音讯引擎必不可少。同时,物联网边缘计算的利用部署受嵌入式环境资源无限、硬件对老本敏感等因素限度,大多采纳高性价比的解决方案和硬件平台,如 OpenWRT 等精简的类 Linux 构建零碎。面对以上状况和理论需要,NanoMQ 能够说是将来边缘计算的最佳抉择 。
随着技术提高和时间推移,边缘计算平台芯片算力将逐步提高并向多核化倒退。对于 MEC 平台和边缘的外围网关场景,NanoMQ 的多线程能力也能够完满转换,施展出弱小的吞吐能力,成为边缘利用之间的音讯路由,承当内容直达、聚合再散发的工作。
NanoMQ 开源我的项目与社区
用户能够参考 NanoMQ 的 Github 和 wiki 文档来独自试用 NanoMQ,也能够 配合 EMQ 已公布的其它边缘计算产品造成一套残缺高效的解决方案:
- 将各类传感器数据利用工业协定接入软件 Neuron 采集,并转换为规范 MQTT 协定;
- 利用 NanoMQ 汇聚来自于 Neuron 的 MQTT 工业数据;
- 利用边缘流式数据处理软件 Kuiper 对工业数据进行实时剖析,后果将由 Kuiper 汇聚至 NanoMQ 中进行归集聚合和再散发
- NanoMQ 将其最终传回云端 EMQ X 后进行长久化,从而满足各类下层利用的开发须要。
NanoMQ 后续将与 EMQ 边缘治理套件进行集成,为用户提供更好的应用体验。
NanoMQ 基于 MIT 开源协定,后续将与 CNCF 以及 Linux LF 基金会等我的项目进行单干,真挚欢送社区各方的倡议和帮忙。
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.io/cn/news/nanomq-is-officially-released