MQTT 订阅 100k 保留消息
MQTT subscribing to 100k retain messages
我们有超过 10 万条关于此主题的保留消息 'devices/access_control/inout_status/by_project/#'。订阅后,我们收到大约 8k-10k 条消息,然后它因错误 'Broken pipe' 而断开连接,重新连接后,我们再次收到相同的 10k 条消息。我该如何解决这个问题?
消息传递按预期进行,当您订阅给定主题时,您将始终获得该主题的最后保留消息。
您正在订阅一个通配符主题,如果您在主题树的该分支下有 +10k 个子主题,那么当您重新连接时,这些消息将始终被传递。
至于为什么它会因 Broken pipe
错误而断开连接,这可能是因为您无法足够快地处理那么多消息,并且使接收器泛滥到甚至无法驱动的程度低级 TCP 堆栈。
我们有超过 10 万条关于此主题的保留消息 'devices/access_control/inout_status/by_project/#'。订阅后,我们收到大约 8k-10k 条消息,然后它因错误 'Broken pipe' 而断开连接,重新连接后,我们再次收到相同的 10k 条消息。我该如何解决这个问题?
消息传递按预期进行,当您订阅给定主题时,您将始终获得该主题的最后保留消息。
您正在订阅一个通配符主题,如果您在主题树的该分支下有 +10k 个子主题,那么当您重新连接时,这些消息将始终被传递。
至于为什么它会因 Broken pipe
错误而断开连接,这可能是因为您无法足够快地处理那么多消息,并且使接收器泛滥到甚至无法驱动的程度低级 TCP 堆栈。