go语言MQTT服务器(五)MQTT服务器集群

go语言MQTT服务器(五)MQTT服务器集群

GOMQ服务器,写的不好,别见外
上面版本不考虑使用了
这是最新版本

一、节点间数据交互端口配置
节点间数据交互端口配置
二、配置两个节点,上面的节点间数据交互端口图也要修改里面的三个参数
在这里插入图片描述
三、MQTT.fx测试工具测试:连接配置,分别连接不同的节点
在这里插入图片描述
四、mq消息发布,两个都订阅同一个主题,其中一个推送数据到这个主题上去,可见两个都接收到了数据
在这里插入图片描述
五、Nginx负载均衡
可通过我前几篇的Nginx配置,可以实现

六、缺点

  • 目前的主题路由表还只是采用简单的key-value形式存储,对于包含通配符的无法处理
  • 当订阅方的qos为2时,发布方推送qos为2的数据还无法推送到相关订阅上去,这个与集群设计无关,是节点自己未实现好 【以解决集群间的qos2数据发送,但是下发到本节点的还是有点小问题】
  • $SYS未实现
  • 节点自己的推送无法承担大并发,里面service包下面有FIXME的注释可以了解到
  • 目前节点之间数据收发忘记考虑粘包半包问题了,等秋招完再来重写

个人有个大胆的想法
集群中mqtt服务器是否可以通过容器部署与K8s配合,实现Pod的自动扩容,来应对大流量时的应对场景,当流量少的时候,自动缩容。

猜你喜欢

转载自blog.csdn.net/qq_41257365/article/details/104955934