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 个部分:

  1. nanolib:主要提供边缘数据缓存、MQTT 订阅关系存储和消息路由能力。
  2. nanomq:是一系列工具和服务的入口,其中消息引擎(Broker)功能是其主要功能,管理所有连接,负责提供如状态通知、钩子函数等功能。目前还有消息队列 mq 功能。
  3. 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 基金会等项目进行合作,真诚欢迎社区各方的建议和帮助。

原文链接:https://www.emqx.io/cn/news/nanomq-is-officially-released

EMQ 携手 NNG 联合发布新一代超轻量边缘 MQTT 消息引擎 NanoMQ相关推荐

  1. 用MQTT.fx检查发布和订阅的mqtt消息

    简介 使用方法 简介 MQTT.fx是一个简单的测试mqtt通信的软件,支持订阅消息.发布消息.记录日志,有美观的图形化操作界面. 实际上MQTT.fx并不是一个抓包工具,它也是通过一对账户名和密码连 ...

  2. 浪潮超融合服务器虚拟机管理,浪潮联合VMware发布新一代超融合一体机,十倍提速数据中心部署效率...

    2017年10月26日,在vFORUM 2017大会上,浪潮联合VMware发布了新一代超融合架构一体机InCloud Rail系列,部署效率较传统方式提升10倍以上,IO性能提升60%.首批推出In ...

  3. Verifone与EMQ达成合作,打造新一代金融支付系统

    近日美国Verifone公司与EMQ正式签订合作协议,由EMQ为Verifone的新一代金融电子支付系统提供基础设施软件--物联网MQTT消息引擎软件,用于连接Verifone全球1000万台支付终端 ...

  4. 每日新闻:百度首个无人驾驶运营项目落户武汉;微软叫停Linux专利战;网易携手芬兰电信Elisa;瑞星华为联合发布云安全解决方案...

    关注中国软件网 最新鲜的企业级干货聚集地 今日热点 Gartner发布2018年第二季度全球服务器市场报告 日前,国际权威研究机构Gartner发布了2018年第二季度全球服务器市场报告,报告显示,在 ...

  5. 浪潮超融合服务器虚拟机管理,浪潮联合VMware发布新一代超融合一体机

    北京2017年10月27日电 /美通社/ -- 10月26日,在vFORUM 2017大会上,浪潮联合VMware发布了新一代超融合架构一体机InCloud Rail系列,部署效率较传统方式提升10倍 ...

  6. 恒生电子联合蚂蚁金服、阿里云,发布新一代技术平台

    5 月 16 日,恒生电子联合蚂蚁金服.阿里云发布"新一代分布式服务开发平台",恒生电子总裁刘曙峰,恒生电子执行总裁范径武,阿里云智能副总裁.金融云总经理张庆侠,蚂蚁金服 Ocea ...

  7. 联合百度云发布新一代ABC一体机,浪潮全方位发挥计算力优势赋能AI落地丨Xtecher 观察

    AI 茂盛生长但又普遍难以落地的背景下,浪潮在重磅联手百度云发布新一代 ABC 一体机的同时, AI 计算产品线全面开花.通过联手强力合作伙伴,以及加强自主研发和产品升级,浪潮正积极发挥计算力优势全力 ...

  8. 矽昌通信携手明夷科技联合发布Wi-Fi 6 AX3000 AP路由芯片

    ●矽昌.明夷联合发布Wi-Fi 6 AX3000 AP路由芯片助力产业链安全 ●自主研发赋能产业安全 ●国产Wi-Fi 6 AP芯片终迎破局之作 ●Wi-Fi 6 AP 芯片迈入"本土化&q ...

  9. [附下载]英特尔中国研究院携手生态伙伴发布《机器人4.0白皮书》

    来源:硬蛋 迈向云-边-端融合的机器人4.0时代 在2019国际人工智能与机器人创新生态峰会上,英特尔中国研究院院长宋继强博士发表了题为<迈向云-边-端融合的机器人4.0时代>的主题演讲. ...

最新文章

  1. 华为推CPU Turbo,荣耀Note10突破3000档
  2. VScode快速一键生成html、vue、jsx、ajax、sass、docker等代码片段
  3. 步进电机红外遥控C语言程序,单片机红外遥控+步进电机+1602液晶显示c语言源程序...
  4. linux grep命令详解_Linux 上USB 调试神器lsusb命令详解
  5. boost的chrono模块线程时钟的测试程序
  6. CSS浮动(二)---Float
  7. android com.squareup,android – 无法导入com.squareup.okhttp.OkHttpClient;
  8. C语言 实现登录注册功能
  9. 小蒜的A+B 计蒜客 - T1283
  10. 常见问题与常见算法的时间复杂度
  11. 水晶报表攻克系列3-如何在程序中自定义纸张
  12. 计算机开机后亮度分布不均,[教程交流]解决最低亮度黑屏和亮度不均
  13. Python 实现最简单的元胞自动机
  14. 记住三句话,就会用双拼(韵母键快速记忆口诀)
  15. java计算机毕业设计springboot+vue健康体检信息管理系统
  16. 【PTA】【C语言】球体的表面积及体积
  17. 为什么Go语言在今天能如此火热?
  18. 腹有诗书气自华——记环宇通软CEO骆永华 1
  19. 【动手学深度学习】(task123)注意力机制剖析
  20. 第二集:你真的会吸气吗 ?科学呼吸法(汇播课程演说笔记)

热门文章

  1. flexsim实现socket连接
  2. linux内核动态logo图片,LINUX内核logo图片(内核启动背景)修改
  3. matlab单调谐无源滤波器元件,有源滤波器和无源滤波器的区别
  4. 滴滴开源3周年,都发布过哪些项目?
  5. vs2017发布exe
  6. 计算机组成原理复习(总结)
  7. libcurl dns解析超时和出现段错误问题
  8. 线性回归之梯度下降详解
  9. OTB官方评估代码matlab版本
  10. Google翻译逆天了 留着心情不好的时候用