使用MQTT服务重新启动服务器

时间:2018-09-28 11:22:34

标签: mqtt iot

想象一下一个连接了远程客户端的MQTT代理,该客户端连续发送QoS 2数据-这是标准情况。客户端配置为“ cleansession false”-客户端具有在连接失败的情况下发送消息的队列。

在服务器上,本地客户端订阅主题以接收消息。

服务器负载:

  1. 启动MQTT经纪人
  2. 运行本地客户端
  3. 连接远程客户端并从队列中接收数据

如果第三点出现在第二点之前怎么办?是否有标准解决方案?如何不丢失第一条消息?

1 个答案:

答案 0 :(得分:0)

假设您正在谈论代理的所有后续重新启动,而不是第一次启动系统,那么代理应该在关闭之前将客户机的持久预订状态存储在磁盘上,并在重新启动时将其恢复。这意味着它应该将本地客户端的消息排队。

您还可以始终使用防火墙阻止远程客户端连接,直到所有本地客户端都启动为止,这也将解决第一个启动问题。