想象一下一个连接了远程客户端的MQTT代理,该客户端连续发送QoS 2数据-这是标准情况。客户端配置为“ cleansession false”-客户端具有在连接失败的情况下发送消息的队列。
在服务器上,本地客户端订阅主题以接收消息。
服务器负载:
如果第三点出现在第二点之前怎么办?是否有标准解决方案?如何不丢失第一条消息?
答案 0 :(得分:0)
假设您正在谈论代理的所有后续重新启动,而不是第一次启动系统,那么代理应该在关闭之前将客户机的持久预订状态存储在磁盘上,并在重新启动时将其恢复。这意味着它应该将本地客户端的消息排队。
您还可以始终使用防火墙阻止远程客户端连接,直到所有本地客户端都启动为止,这也将解决第一个启动问题。