如何让 mosquitto 不从内存中更新数据库中的主题?

物联网 MQTT 蚊子
2021-06-12 04:00:30

正如在另一个问题中所建议的,我们已将目标路径添加为 db,将 autosave_interval 添加为 3000,但几天后内存会自动减少。

请让我知道是否有任何其他解决方案可以仅存储在 db 文件中。

1个回答

mosquitto 代理不支持将持久性存储卸载到外部数据库,db 文件只是内存数据库的备份,以防代理崩溃或关闭。

如果您有大量消息排队等待离线客户端或大量保留的大型消息,则将消耗内存。

您能做的最好的事情是设置persistent_client_expiration选项以删除长时间未登录的客户端的排队消息。此选项的详细信息可以在 mosquitto.conf 手册页中找到

否则,您将需要考虑使用支持持久性数据库的进程外存储的不同代理。mosca这样的东西可以配置为使用 mongo 或 redis 作为后备存储。