[英]mosquitto : broker stop publish to some clients but subscription ok
上下文:
Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
mosquitto.conf 的摘录:
allow_anonymous false
password_file /etc/mosquitto/passwd
log_type all
提取他们的 nodeJS 配置:
reconnectPeriod: 30000 (ms)
keepalive: 300 (sec)
qos: 2
clean = false
(节点mqtt模块版本:3.0.0)
问题:
在最初的几个小时内,关于主题 xxx 的 PUB/SUB 运行良好,但客户端 (SUB) 突然停止接收消息。 客户端 (SUB) 连接良好并订阅了代理。
当我检查代理#$SYS 时,我可以看到:
当我查看“mosquitto 日志”时,我只能看到代理 PUBLISH 消息发给我的 7 个 SUB 客户中的 3 个……所以可以理解,我的其他 4 个客户从未收到该消息……
我该怎么做才能解决这个奇怪的问题?
感谢您的帮助。
我终于找到了使我的架构工作的解决方案:我将所有设备的 Qos SUB 切换到 Qos1(而不是 Qos2)。
我的结论是,如果同一主题上有多个订阅者(在我的情况下为 7 个),则代理无法很好地管理 SUB 上的 Qos2。
在这种情况下:将 Qos SUB 转为 Qos 1,它工作正常!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.