EMQ 携手 NNG 联合发布新一代超轻量边缘 MQTT 消息引擎 NanoMQ
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 個部分:
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何建立零售行业的数据分析模型?
- 下一篇: 解决vc2017不能建立对话框类的问题