MQHub · 嵌入式 MQTT Broker

Viewed 25

单二进制、零依赖、开箱即用的高性能 MQTT Broker
为现代 IoT 而生,从单机到集群,一个文件搞定

💎 授权说明

MQHub 是商业软件,非开源项目。

  • 授权方式:按服务器台数授权,100 元 / 台
  • 授权范围:每台授权服务器可永久运行、永久使用
  • 授权绑定:通过机器码绑定硬件,更换硬件需重新申请
  • 交付形式:单二进制文件 + 独立授权码(license.lic)

无订阅费、无年费、无隐藏收费——一次付费,长期使用。

🎯 为什么需要 MQHub?

传统 MQTT Broker 的三大痛点

痛点 传统方案 MQHub 的答案
部署复杂 需要安装 Erlang/Java 运行时、依赖一堆中间件 单个二进制文件,chmod +x 即可运行
资源占用高 空闲内存 200MB+,边缘设备跑不动 空闲 ~30MB,资源受限环境友好
运维成本大 独立部署、独立监控、独立升级 内置 Web 面板,零运维负担

一次部署,覆盖所有场景

  • 边缘设备:一台树莓派 / 工控机就能跑
  • 单机生产:SQLite 零依赖运行,一台服务器搞定
  • 集群部署:切换到 Redis 后端,秒变高可用集群
  • 云边协同:内置 MQTT 桥接,边缘数据自动同步到云端

⚡ 核心能力

🔐 企业级认证与授权

  • 账号密码认证:用户数据存储于 SQLite(单机)或 Redis(集群)
  • Client ID 级 ACL:精细到每个客户端的主题权限控制
  • 通配符匹配:支持 + / # 主题通配,以及 wg-* / *-prod / wg-*-prod 客户端 ID 通配
  • 超级用户:可选的超级用户跳过所有 ACL 检查
  • 热更新:通过 Web 面板修改用户/ACL,即时生效,无需重启

🚀 极致性能

  • 预编译 ACL:字符串匹配 → 枚举匹配,速度提升一个数量级
  • 多级缓存:DashMap 无锁用户缓存 + moka ACL 结果缓存,稳态查询 < 50ns
  • superuser 短路:超级用户跳过所有 ACL 检查
  • mimalloc 分配器:比系统默认分配器快 20-30%
  • 异步 I/O:基于 Tokio 的高并发运行时
指标 数值
单机消息吞吐 10-14 万 msg/s
P99 延迟 1-2 ms
内存占用(万连接) ~80 MB
认证+ACL 稳态开销 < 100 ns

🌐 多协议监听

协议 端口 说明
TCP 1883 标准 MQTT 明文
TLS 8883 MQTT over TLS
WebSocket 8080 浏览器 / 小程序接入
WSS 8443 WebSocket over TLS

一份证书,同时保护 TCP TLS 和 WSS —— 配置简洁,运维省心。

🖥️ 内置 Web 管理面板

  • 用户管理:增删改查 MQTT 用户,可视化编辑 ACL 规则
  • 在线客户端:实时查看所有连接、订阅数、队列长度、Inflight
  • 订阅详情:点击客户端可查看其订阅的所有主题(无 100 条限制)
  • MQTT 测试工具:内置客户端,支持连接、发布、订阅、查看消息日志
  • 分页与搜索:所有列表支持关键字搜索和分页
  • 自动刷新:在线客户端页面可开启 3 秒自动刷新

访问 http://服务器IP:8081 即可使用,无需额外部署。

🔗 云边协同(MQTT 桥接)

通过桥接功能连接两个独立的 MQHub 实例:

[边缘 MQHub] --Egress--> [中心 MQHub]
[边缘 MQHub] <--Ingress-- [中心 MQHub]
  • Egress:边缘数据上报到中心
  • Ingress:中心指令下发到边缘
  • 自动重连:网络中断时自动重连
  • 消息缓冲:断线期间消息不丢失
  • 共享订阅:集群节点自动负载均衡

📊 GreptimeDB 时序落库

订阅 MQTT 主题,自动将消息批量写入 GreptimeDB:

  • 自动建表:无需手动创建 schema
  • 批量提交:默认 2000 条/批,减少写入次数
  • 去重保障:集群模式下通过 Redis 分布式锁保证只有一节点写入
  • device_id 提取:从主题第二段自动提取设备 ID

🌍 三种部署模式,一键切换

模式 适用场景 吞吐量
Standalone 单机、开发、测试 10-14万 msg/s
Raft 生产集群,强一致性 11-15万 msg/s(3 节点总吞吐)
Broadcast 海量传感器,高吞吐 35-40万 msg/s(3 节点总吞吐)

通过 CLUSTER_MODE 环境变量切换,代码零改动。

🎁 特色功能

📨 MQTT 5.0 完整支持

  • 会话过期时间(Session Expiry Interval)
  • 主题别名(Topic Alias)
  • 用户属性(User Properties)
  • 消息过期时间(Message Expiry Interval)
  • 共享订阅(Shared Subscription)
  • 保留消息(Retain Message)

同时向下兼容 MQTT 3.1 / 3.1.1。

🔄 Retain 保留消息

  • RAM 模式:内存存储,最快速度
  • Sled 模式:本地磁盘持久化,重启不丢
  • Redis 模式:集群共享

通过配置文件选择后端,编译一次即可支持三种模式。

📦 共享订阅

订阅端格式:$share/{Group}/{TopicFilter}

同一组内的多个订阅者共同消费消息——每条消息只投递给组内一个订阅者,用于后端服务的横向扩展。

支持 7 种策略:random / round_robin / round_robin_per_group / sticky / local / hash_clientid / hash_topic。

🏭 覆盖多元 IoT 场景

场景 应用
🏠 智能家居 / 楼宇 灯光、空调、安防设备统一接入,场景联动
🏭 工业物联网 PLC、传感器数据采集,实时告警推送
🚗 车联网 / 车队 车载终端定位、状态上报,海量车辆并发
🌾 智慧农业 土壤、气象数据采集,远程控制灌溉
⚡ 能源电力 电表、光伏数据采集,远程抄表与负荷监控
📦 物流仓储 资产追踪、冷链温湿度上报,全流程可视化

🛠️ 快速开始

1. 获取授权

联系微信 prcloud 购买授权,获取二进制文件与专属授权码(license.lic)。

2. 部署运行

# 将二进制文件和授权码放在同一目录
chmod +x mqhub
./mqhub

首次启动会自动读取机器码,绑定当前服务器硬件。

3. 打开管理面板

浏览器访问:http://服务器IP:8081

默认账号密码:admin / admin

4. 连接 MQTT

# 订阅
mosquitto_sub -h 127.0.0.1 -p 1883 \
  -u admin -P change-me -t '#' -v

# 发布
mosquitto_pub -h 127.0.0.1 -p 1883 \
  -u admin -P change-me -t test -m "hello"

5. 配置集群(可选)

CLUSTER_MODE=raft \
STORAGE_BACKEND=redis \
REDIS_URL=redis://127.0.0.1:6379 \
./mqhub

💰 价格与授权

授权模式

项 说明
授权方式 按服务器台数授权
单价 100 元 / 台
有效期 永久有效(无年费、无订阅)
绑定方式 机器码绑定硬件
迁移 更换硬件需重新申请(可联系协商)

举例

部署规模 授权费
1 台服务器 100 元
3 台(集群) 900 元
10 台(多地域) 3000 元

一次付费,永久使用,无隐藏收费。

📦 环境要求

项 要求
操作系统 Linux (x86_64 / ARM64)
运行时依赖 无(单二进制文件)
存储 SQLite(内置) / Redis(可选)
内存 最小 128 MB(生产建议 512 MB+)

支持 systemd、Docker、Kubernetes 部署。

💡 为什么选择 MQHub?

vs 开源方案(EMQX / Mosquitto)

MQHub 开源方案
部署 单二进制 需运行时环境
Web 面板 ✅ 内置 ⚠️ 需独立部署或商业版
集群 ✅ 原生支持 ⚠️ 商业版或第三方
技术支持 ✅ 直接对接开发团队 ❌ 社区论坛
授权模式 一次性 100 元/台 免费但无支持
商业友好 ✅ 无版权争议 ⚠️ BSL 等受限许可

成本对比(5 年)

方案 5 年总成本
MQHub 100 元/台 × 一次性
EMQX 企业版 数万元/年
HiveMQ 商业版 数万元/年
自研 + 运维 人力成本 × 5 年

用一顿饭的钱,换来 5 年的稳定服务。

📞 联系方式

  • 微信:prcloud
  • 工作日:9:00 - 21:00 在线回复
  • 支持:技术咨询、部署协助、商务合作

🚀 立即体验

# 联系获取授权 → 部署 → 5 分钟内上手
./mqhub

单二进制、零依赖、开箱即用
MQHub · 为现代 IoT 而生


Made with ❤️ in Rust · 商业授权 · © 2026 MQHub

0 Answers