当订阅者离线且 QOS=2 时由 mosquitto broker 发布消息存储
published message store by mosquitto broker when subscriber is offline with QOS=2
我的发布者和订阅者都连接到 QOS=2 的 mosquitto (paho) 代理,并通过 clean_session=false 保持持久会话。当我使用连接到代理的订阅者发布消息时,它成功地被订阅者接收,现在如果我断开订阅者,然后再次发布消息并连接订阅者,我将能够在我的订阅者离线时检索这些消息。
我的问题是--
当订阅者离线时,代理中是否有存储所有消息的存储。
如果是,它可以存储多长时间或多少条消息。
这种方法是否适合实时 GPS 跟踪,用户可以长时间离线(5-6 小时)大约
即使断电也能保持会话持久性。
如果我在实时 gps 跟踪中使用这种方法,它可以为可扩展应用程序处理多少流量..
是的,有一个文件(mosquitto.db)。您可以在 mosquitto.conf 文件 autosave*
和 persistence*
选项
中控制此文件写入磁盘的位置
只要存在持久性会话并且限制为磁盘 space(对于 32 位 mosquitto 可能为 2-4gb),就会存储消息。但是无论哪种方式都是很多消息(除非你有愚蠢的大消息)
这取决于您的消息率和publishers/subscribers
的数量
是的,会话持久性保存在同一个数据库文件中,因此在 mosquitto 重新启动时保持状态
同样,这实际上取决于您有多少 publishers/subscribers 以及消息速率。
我的发布者和订阅者都连接到 QOS=2 的 mosquitto (paho) 代理,并通过 clean_session=false 保持持久会话。当我使用连接到代理的订阅者发布消息时,它成功地被订阅者接收,现在如果我断开订阅者,然后再次发布消息并连接订阅者,我将能够在我的订阅者离线时检索这些消息。
我的问题是--
当订阅者离线时,代理中是否有存储所有消息的存储。
如果是,它可以存储多长时间或多少条消息。
这种方法是否适合实时 GPS 跟踪,用户可以长时间离线(5-6 小时)大约
即使断电也能保持会话持久性。
如果我在实时 gps 跟踪中使用这种方法,它可以为可扩展应用程序处理多少流量..
是的,有一个文件(mosquitto.db)。您可以在 mosquitto.conf 文件
autosave*
和persistence*
选项 中控制此文件写入磁盘的位置
只要存在持久性会话并且限制为磁盘 space(对于 32 位 mosquitto 可能为 2-4gb),就会存储消息。但是无论哪种方式都是很多消息(除非你有愚蠢的大消息)
这取决于您的消息率和publishers/subscribers
的数量
是的,会话持久性保存在同一个数据库文件中,因此在 mosquitto 重新启动时保持状态
同样,这实际上取决于您有多少 publishers/subscribers 以及消息速率。