前几天因为研究开源NATS服务器gnatsd和开源半成品MQTT服务器surgemq以及对mosquitto的不满诞生了自己编写golang版开源MQTT broker服务器的想法,但是工作很忙所以只能搁浅计划,不过还是忍不住花了一天时间把surgemq的mqtt协议合并进gnatsd,新开源项目暂时起名gomq。
目前gomq对qos0/qos1/qos2都支持,不支持数据持久化,去掉了surgemq的ringbuf,原本每个client连接建立4个goroutine改成了类似gnatsd的1个goroutine。
今天又解决了原surgemq错误理解qos导致的bug。
只要再写个redis鉴权类就可以替代我原本项目使用的mosquitto,满足我目前自己的业务需求。
因为还很不完善,毕竟没花太多时间在上面(纯粹修改只用了一天半时间),暂时只使用mosquitto的客户端和gmq客户端简单测试通过,所以现在不会真正开源出来。