在 /etc/mosquitto/mosquitto.conf文件中 有 bridge相关部分,选择某一台机器,既可以实现同一个topic的消息,即使订阅者在不同物理机器(IP不同)上,也可以收到相应。
3个服务构建运行时的效果图(更多服务应该类似,但是我没有那么多虚拟机了,注意:两个机器很简单,但是变成3台时 ,受原始配置文件影响,有些小波折,后面描述):
小波折1)原始配置文件有如下:
#connection <name>
#address <host>[:<port>] [<host>[:<port>]]
#topic <topic> [[[out | in | both] qos-level] local-prefix remote-prefix]
事实上,貌似 同一个connection只能有一个IP(或者下一行 要有 多个remote-prefix-----这点我没有试)===看源码貌似只进行了一个bridge但是留有多个ip的保存
小波折2)第二个connection的名字需要和之前的不一样才行!否则第二个会将第一个给覆盖掉,于是上图的 b 机就没法收到消息
接下来有空就做压力测试,之前的压测,13500个后,客户端所在的机器都不行了...(服务器依然坚挺:))
各位看官:上面内容如有错误,海望指出,共同进步。
谢谢