go语言的MQTT服务器


go语言的MQTT服务器

这是一个通过对已经很久没有维护的项目https://github.com/zentures/surgemq进行二次开发的mqtt服务器
上面版本已经不维护了
这是最新版本【不维护了】
这是单独整理优化的单机版,之后会在这上面重新设计集群版

开发初衷

最初为了去了解学习mqtt,特在网上找了几个go语言的mqtt开源服务器,但是,不是运行有问题,就是协议支持不完善,好不容易找到这个,但是很久没有维护了。经过考虑,还是拿这个当做基础开发。

基础功能

支持
支持QOS 0、1和2消息
支持will消息
支出主题匹配
支持保留的消息(添加/删除)
规格中的几乎所有内容(以下列表除外)
身份验证模块(mysql,redis)

局限性
支持的所有功能仅在内存中。服务器重新启动后,所有内容都将清除。
但是,所有组件都编写为可插入的,因此可以根据定义的Go接口编写插件。
当前不支持重新连接时重新发送邮件。
不支持在断开连接时进行消息脱机排队。尽管这也不是MQTT的特定要求。

未来
消息重新发送(DUP)
$ SYS主题
服务器桥
确认超时/重试
会话持久性
集群功能

推荐
这个是Java的一个mqtt项目,也可以学习,写的很好

go语言的MQTT服务器介绍到这里,更多Go学习请参考编程字典Go教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://blog.csdn.net/qq_41257365/article/details/104722100?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163504077416780264068914%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163504077416780264068914&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-10-104722100.pc_v2_rank_blog_default&utm_term=go&spm=1018.2226.3001.4450