醋醋百科网

Good Luck To You!

轻量级高性能 MQTT 消息服务器 NanoMQ

NanoMQ MQTT Broker (NanoMQ) 是一个全方位的边缘消息传递平台,包括一个用于 IoT/IIoT 的超快 MQTT Broker 和一个用于 SDV 的轻量级消息传递总线。是面向物联网边缘计算场景的下一代轻量级高性能 MQTT 消息服务器。

NanoMQ NNG 深度合作, NanoMQ 基于 NNG 异步 IO 和多线程模型面向 MQTT 协议深度优化后诞生。依靠 NNG 出色的网络 API 设计, NanoMQ 自身可以专注于 MQTT 服务器性能和更多的拓展功能。目标为边缘设备和 MEC 提供更好的 SMP 支持和极高的性能性价比。

功能特性

完整支持 MQTT 5.0 :完整支持 MQTT 5.0/3.1.1,与所有标准 MQTT 开源 SDK 兼容。

核心优势

快速上手

本指南将以 Docker 部署为例,演示如何快速上手 NanoMQ。

运行以下命令快速通过 Docker 运行 NanoMQ,分别指定端口 1883、8083 和 8883 用于监听 MQTT、MQTT over WebSockets 和 MQTT over SSL/TLS 流量。

docker run -d --name nanomq -p 1883:1883 -p 8083:8083 -p 8883:8883 emqx/nanomq:latest

客户端连接 NanoMQ

安装客户端


订阅主题 subscribe.php

php




declare(strict_types=1);

useWorkerman\Worker;
require_once__DIR__ . '/../../vendor/autoload.php';

$worker = new Worker();
$worker->onWorkerStart = function(){
$mqtt = new Workerman\Mqtt\Client('mqtt://127.0.0.1:1883');
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('tinywan');
};
$mqtt->onMessage = function($topic, $content){
echo"订阅主题: {$topic}\n";
echo"消息内容: {$content}\n";
};
$mqtt->connect();
};
Worker::runAll();

命令行运行 php subscribe.php start 启动。

执行发布消息,命令行区域将出现一条消息,表明该消息已成功发布到 NanoMQ 并被转发到订阅主题。

发布信息 publish.php

php




declare(strict_types=1);


useWorkerman\Worker;

require_once__DIR__ . '/../../vendor/autoload.php';

$worker = new Worker();
$worker->onWorkerStart = function () {
$mqtt = new Workerman\Mqtt\Client('mqtt://127.0.0.1:1883');
$mqtt->onConnect = function ($mqtt) {
$mqtt->publish('tinywan', 'Hi!开源技术小栈 NanoMQ');
};
$mqtt->connect();
};
Worker::runAll();

命令行运行 php publish.php start 启动。

其他

IoT 时代数据是第一生产力,而边缘则是数据诞生的地方。在边缘复杂的网络环境中对数据进行快速汇聚分发,一个高实时、高吞吐的边缘消息总线至关重要。然而由于产业链条长和各垂直行业的历史原因,使得边缘存在协议碎片化和多种消息模式,而且嵌入式环境的算力和功耗也有严格限制。

这些问题都对边缘消息总线提出了新的要求与挑战。NanoMQ致力于解决这些问题,提供一个能够在边缘端统一数据流动的轻量级高性能消息总线。同时提供极佳的拓展性和可移植性,适配各类嵌入式平台。让分散在边缘的碎片数据能够被轻松管理和获取。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言