mqtt 中的最大主题订阅数?

man*_*ish 0 mqtt

在 mqtt 中,客户端可以订阅的最大主题数是否有任何限制或性能问题?

假设我在 1000 个帖子上发表了 1000 条评论。对于这些帖子中的任何一条新评论,我都应该收到通知,为此我想订阅所有 1000 个主题。这是一个很好的解决方案吗?

Ale*_*gna 5

与其订阅 1000 个不同的主题,不如尝试创建一个嵌套的主题结构。

例如:

forum1/posts/1456/comments/1
forum1/posts/1456/comments/2
forum1/posts/1456/comments/3
forum2/posts/54/comments/24
Run Code Online (Sandbox Code Playgroud)

然后您可以使用通配符订阅:

// get all comments about post 1456
client.subscribe("forum1/posts/1456/#");
Run Code Online (Sandbox Code Playgroud)

这将收到对 ID 为 1456 的帖子的所有评论
。MQTT 有两个通配符:#匹配任何深度,而+仅匹配一个级别。

// get first comment of any post
client.subscribe("forum1/posts/+/comments/1");
Run Code Online (Sandbox Code Playgroud)

查看HiveMQ 博客上的优秀主题和最佳实践文章以获取进一步参考。