分享
  1. 首页
  2. 文章

Go语言开发的GMQT物联网MQTT消息服务器(mqtt Broker)支持海量MQTT连接和快速低延时消息传输-提供源码可二次开发定制需求

huanglishi · · 562 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

​ # 关于GMQT物联网MQTT消息平台 GoFly社区推出《GMQT物联网MQTT消息平台》,完全使用高性能的Go语言编写,内嵌数据库(不依赖三方库), 全面支持MQTT的v3.0.0、v3.1.1以及完全兼容 MQTT v5 功能。利用Go语言高并发性、高效利用服务器资源、跨平台支持和部署便捷性等特性可在很小的服务器资源 中运行GMQT,并且在windows、Mac、linux等操作系统快速安装。 在了解GMQT之前,我们先了解一下什么MQTT服务端(MQTT Broker),MQTT服务端通常是一台服务器。它是MQTT信息传输的枢纽,负责将MQTT客户端发送来的信息传递给MQTT客户端。MQTT服务端还负责管理MQTT客户端。确保客户端之间的通讯顺畅,保证MQTT消息得以正确接收和准确投递。MQTT服务端在管理MQTT信息通讯时,使用"主题"来控制,由主题来控制客户端之间的信息通讯,如下图: ​![MQTT通讯实例-1.jpg](https://static.golangjob.cn/250527/5909e44af834a32300e248f00e0631f0.jpg) 上图是MQTT服务器向订阅的客户端推送消息(publish),当然客户端既可以作为信息发布者也可以同时作为信息订阅者,如下图: ![MQTT协议通讯实例-2.jpg](https://static.golangjob.cn/250527/3a99f51e2f61c7e3aca26ea5de9d028e.jpg) 上图中的所有客户端都是围绕"空调温度"这一主题进行通讯的。对于"空调温度"这一主题,手机和电脑客户端成为了MQTT信息的发布者而汽车则成为了MQTT信息的订阅者(接收者)。 大家从上面可以看到MQTT服务器在物联网项目中起到连接设备与设备、设备与网络重要作用。在物联网开发项目绝大部分都采用MQTT通讯,所以学习物联网、开发物联网项目都有必要去学习了解MQTT。需要MQTT之前我们首先要做的是选择一个简单易安装、功能全面,最好是带有可视化管理界面的,有界面可以让开发直观看到MQTT相关数据。本文我们先重点介绍MQTT服务器即GMQT服务,后续文章我们在逐步展开给大家讲MQTT原理及如何使用或集成开发。 # 图文介绍GMQT服务功能 ## 1.介绍功能之前先安装GMQT ### 1.1 GitHub下载地址(推荐) [Release free-v2.7.9 GMQT · GitHub](https://github.com/huanglishi/GMQT/releases/tag/GMQT) ### 1.2.GoFly社区下载 [GoFly全栈开发社区GMQT](https://goflys.cn/gmqt) 大家下载后把程序解压到你电脑合适目录运行gmqt执行文件即可,不需要安装依赖,大大降低里安装难度。运行程序后用浏览器打开:http://127.0.0.1:1880 即可进入可视化管理后台。 ## 2.安装好后可以看到下面介绍的界面了 ### 2.1 首页统计 ![微信截图_20250526222232.png](https://static.golangjob.cn/250527/a7ea0f9b54cd473438f1f149e9e929ad.png) 统计MQTT和部署环境信息 ### 2.2 客户端 ![微信截图_20250526222437.png](https://static.golangjob.cn/250527/16405c8693f35e5a932c144999828074.png) 连接到MQTT的客户端(设备)信息 ### 2.3 订阅和主题 ![微信截图_20250526222449.png](https://static.golangjob.cn/250527/86875b32dcfc659396398c369eac942e.png) 客户端订阅的主题信息 ### 2.4 监听器 监听器是GMQT服务启动服务-支持多个服务 ![微信截图_20250526222459.png](https://static.golangjob.cn/250527/de7a550e3cc82bedb895e13dac1918c9.png) 编辑服务端口名称类型-以及ssl和wss秘钥 ![微信截图_20250526222506.png](https://static.golangjob.cn/250527/dfc63be69e4fbdbf56c4511859da6f73.png) ### 2.5 客户端连接服务的规则验证(安全验证) 客户端连接时的过滤规则: ![微信截图_20250526222524.png](https://static.golangjob.cn/250527/381fed5c28a1819668fe87d73ebd8009.png) 消息订阅时验证规则 ![微信截图_20250526222550.png](https://static.golangjob.cn/250527/af11e3e5de7b7d2ec0f5f3df6ac5b0f2.png) 客户端连接拦截黑名单: ![微信截图_20250526222602.png](https://static.golangjob.cn/250527/cafc99376ec309590318b9b42aa9ba7c.png) ### 2.6 集成开发项目 GMQT服务发生的消息和事件通过WebHook通知自主开发系统: ![微信截图_20250526222836.png](https://static.golangjob.cn/250527/0f689a189801948c5e845dea79ba2fde.png) WebHook编辑: ![微信截图_20250526222908.png](https://static.golangjob.cn/250527/11f9c1ff80240f0ae3456b991690635d.png) 自主开发系统主动向GMQT服务获取和推送信息接口: ![微信截图_20250526222920.png](https://static.golangjob.cn/250527/d7120f50eccbbc021f16df9e797fe0ef.png) api接口连接验证token: ![微信截图_20250526222927.png](https://static.golangjob.cn/250527/7377154708b6c25547e92fcf917866df.png) ### 2.7 系统管理 后台管理账号: ![微信截图_20250526223022.png](https://static.golangjob.cn/250527/ac31a57b8b1a5f8bd48f85ecc8ac20c3.png) 对mqtt参数配置: ![微信截图_20250526223030.png](https://static.golangjob.cn/250527/2909922b12d1fbc165781a745e6b46ed.png) 对GMQT系统配置: ![微信截图_20250526223036.png](https://static.golangjob.cn/250527/2d2f9f0537a21aa992fa3abdd97baa07.png) 对后台数据和mqtt数据库备份和还原操作 好了到这里我们就介绍完GMQT功能了,后面我们再继续写如何使用mqtt开发物联网项目。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
562 次点击
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏