GoFly 社区 GMQT|国产自研 MQTT‑Broker,打造私有化物联网消息底座

前言

做物联网开发的同学基本都绕不开 MQTT 消息服务器。选型的时候我们通常面临两个选择:公有云 MQTT 服务,或是开源 Broker。

公有云 MQTT 上手简单,但有几个绕不开的问题:数据需要上云,内网隔离项目无法使用;长期运行流量费用持续增加;网络延迟不受自己掌控。

而传统开源 MQTT 服务,像 Mosquitto 部署简单但是功能薄弱;EMQX 功能强大却依赖较多资源,配置、调优门槛高。很多中小项目、边缘私有化场景,想要一套不依赖 Redis、MySQL,解压即可运行、协议完整、自带管理面板的 MQTT 服务,选择并不多。

最近体验了 GoFly 社区开源的 GMQT,纯 Go 编写的 MQTT‑Broker,主打零依赖私有化部署,这里给大家做一次完整介绍。

一、GMQT 是什么

GMQT 是 GoFly 社区自研的物联网 MQTT 消息平台,全部基于 Golang 开发。最大特点是内置嵌入式数据库,不需要安装任何第三方数据库、中间件,编译输出单可执行程序,Windows、Linux、Mac,x86/ARM 架构全部支持,工控机、边缘盒子也可以直接跑起来。

当前最新版本为 v2.8.6,更新内容:

  1. 优化服务启动与优雅关闭销毁逻辑
  2. 优化统计页面空数据展示
  3. 监听器端口编辑增加非法字符过滤
  4. 新增内联订阅消息,消息可通过 WebHook 推送到自研业务平台

完整兼容 MQTT v3.0.0 /v3.1.1 / MQTT5.0,同时支持 MQTT‑WebSocket,浏览器 JS 客户端能够直连 Broker,不用额外搭建转发网关。

二、核心能力亮点

1、零外部依赖,轻量化高并发

内置自研嵌入式数据库,无 Redis、MySQL 依赖。低配云服务器、ARM 边缘设备、内网离线环境直接部署。依托 Go 协程模型,实现高吞吐、毫秒级消息转发,满足大量物联网设备长连接场景。

2、完整 MQTT 协议实现

完整实现 MQTT5 全部特性,支持 QoS、遗嘱消息、保留消息、会话持久化、离线消息缓存。原生 WebSocket 支持,Web 页面可以直接作为 MQTT 客户端调试设备,对做网页控制台项目非常友好。

3、多层安全访问控制

  • 支持静态密码、动态密码、WebHook 外部鉴权,可以对接自己业务系统做设备身份校验;
  • ACL 主题权限管控,对发布、订阅做细粒度权限隔离;
  • 设备黑名单机制,快速拉黑异常客户端。

对于工业、能源项目,私有化部署下整套鉴权体系可以保障设备通信安全。

4、自带 Vue 可视化 Web 管理后台

不需要命令行反复修改配置文件,Web 后台可以完成:多监听器管理、查看在线客户端、订阅主题查看、运行事件日志、权限策略配置。新手也可以直观观察设备上下线、消息流转状态,降低运维调试成本。

5、WebHook + HTTP API,轻松对接自有业务

很多 Broker 仅仅只做消息转发,业务联动需要写复杂插件。GMQT 提供两种集成手段:

  1. WebHook 事件推送:设备上线、离线、消息接收事件主动回调业务后端;v2.8.6 新增内联订阅消息 WebHook 推送;
  2. HTTP REST API:业务服务调用接口实现下发指令、查询设备状态。

同时开放事件钩子体系,源码层面可以自定义消息过滤、数据转发逻辑,适配行业个性化需求。

三、适合哪些项目场景

✅ 工业互联网设备采集、现场内网私有化项目

✅ 机器人集群调度

✅ 智能家居本地网关

✅ 能源电力监控系统

✅ 车联网终端边缘节点

✅ 需要 Web 端直接连接 MQTT 的业务

✅ 学习 MQTT,本地快速搭建测试环境

不适合超大规模集群分布式场景,单机架构更适合中小型、边缘私有化物联网项目。

四、快速上手体验

  1. 在线演示体验 地址:https://gmqt.goflys.cn/ 账号:admin,密码:admin,不用本地部署,网页上即可体验全部后台功能。

  2. 文档查阅 开发文档:https://doc.goflys.cn/docview?id=50 文档包含安装教程、鉴权配置、多语言客户端示例、WebHook 与 HTTP 接口使用说明,配套视频教程。

  3. 免费程序下载(v2.8.6) Gitee 发布页:shturl.cc/uIEVc5w0JQNiwVeLcGd2JxywcCOxXLu8xWb48AV8G2Hb638KNbU

提供 windows32/windows64、linux‑amd64、linux‑arm64、mac‑amd64、mac‑arm64 多平台编译包,下载对应系统压缩包解压,直接运行程序即可启动 MQTT 服务。

结束语

在很多物联网项目中,我们并不一定需要重型分布式 MQTT 集群。尤其是内网、边缘、中小型私有化项目,更看重部署简单、依赖少、上手快、自带可视化管理、方便和业务系统对接

GMQT 作为国产社区项目,补齐了这一块需求。单二进制包开箱即用,完整 MQTT5 协议,WebHook+HTTP 接口降低业务集成成本,对于物联网开发者来说是一个值得尝试的私有化 MQTT‑Broker 方案。


资源汇总

🔗 官网:https://goflys.cn/gmqt

📖 开发文档:https://doc.goflys.cn/docview?id=50

🧪 在线体验:https://gmqt.goflys.cn/

📦 v2.8.6 免费下载:https://gitee.com/huang_li_shi_admin/gmqt/releases/tag/v2.8.6

本文仅做技术分享,欢迎大家下载体验,在项目中实测验证。

相关推荐
qq_3164110313 分钟前
物联网大健康管理平台的功能模块与技术架构详解
物联网
X1A0RAN1 小时前
pytest 动态报告:数据可视化篇 —— 用 Golang + Echo 打造自动化测试任务可视化平台
信息可视化·golang·pytest
SL-staff4 小时前
技术实践:解决IoT网关单点故障导致子设备批量‘失联’问题
物联网·zigbee·边缘缓存·jvs·iot架构·物模型设计·设备生命周期
圣殿骑士-Khtangc4 小时前
Go-sync包并发原语详解从Mutex到Once的深度应用
golang
灯澜忆梦4 小时前
【基于GO的Web开发15】gin路由和路由组
前端·后端·golang·gin
TDengine (老段)5 小时前
TDengine 应用案例 — 能源与电力监控
大数据·数据库·物联网·能源·时序数据库·tdengine·涛思数据
虎王物联6 小时前
Docker WASM 边缘计算:12ms 冷启动如何重塑 IoT 网关部署
物联网·docker·容器·边缘计算·wasm
2601_956743686 小时前
上海物联网应用开发技术选型指南:从HTTP/MQTT/Modbus协议适配、平台化架构设计到源代码交付与私有化部署,解析工程落地的关键考量点
物联网·网络协议·http·开发经验·上海
xcLeigh6 小时前
Go入门:rune与byte的区别和使用场景
android·javascript·golang
深念Y6 小时前
数据库层设计的取舍:ORM 便利性与手写 SQL 的安全性权衡
java·数据库·sql·golang·框架·语言·ome