EMQ 攜手 NNG 聯合發布新一代超輕量邊緣 MQTT 消息引擎 NanoMQ


2021 年伊始,物聯網開源基礎軟件領導者 EMQ 攜手 NNG 為開源社區獻上開年賀禮:面向邊緣計算和 5G MEC 的開源輕量級邊緣 MQTT 消息引擎——NanoMQhttps://nanomq.io)。
NanoMQ 的正式問世填補了國產基礎軟件在此領域的空白,將與邊緣流式數據處理軟件 Kuiper、消息中間件 EMQ X 和分布式流處理數據庫 HStream 一起,形成 5G&IoT 的全場景消息與流處理和全棧解決方案。

NNG & NanoMQ 合作

NNGhttps://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 基金會等項目進行合作,真誠歡迎社區各方的建議和幫助。

版權聲明: 本文為 EMQ 原創,轉載請注明出處。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM