mosquitto - 持久化配置选项

物联网 MQTT 蚊子 发布订阅者
2021-06-02 06:31:05

我想了解这里描述的Mosquitto 中与持久性相关的选项

首先,这些选项是否仅适用于 QoS > 0 和/或保留消息的情况?

  • persistence

如果为 true,则连接、订阅和消息数据将写入磁盘中mosquitto.db由 指定的位置 persistence_location

“消息数据”的含义是什么 - 实际有效载荷?仅在保留时还是以其他方式?

  • persistence_location

如果没有给出,则使用当前目录。

当前目录相对于什么?

1个回答

消息被持久化,如果

  • 他们被保留
  • 在飞行中等待确认时,QOS 1/2
  • QOS 1/2 等待交付给订阅主题的离线客户端,然后再离线
  • 如果queue_qos0_messages设置为 true 与之前的 QOS 0 消息相同

整个消息存储在内存中,并定期(由autosave_interval选项控制)或在代理关闭以确保数据不丢失时同步到磁盘

与所有进程一样,当前目录是进程启动的位置,例如,如果您/home/user运行 mosquitto 时您的 shell 位于您的主目录中,那么当前目录将是您的主目录。当 mosquitto 作为服务运行时,这可能是 / 在这种情况下,mosquitto 用户将无权在那里写入。明确写日志和持久化数据的位置总是更好