mqtt中主题订阅的最大数量?

mqtt中主题订阅的最大数量?,mqtt,Mqtt,在mqtt中,客户机可以订阅的最大主题数是否存在任何限制或性能问题 假设我在1000篇帖子上发表了1000条评论。对于这些帖子中的每一条新评论,我都会得到通知,所以要做到这一点,我想订阅所有1000个主题。这是一个好的解决方案吗?这完全取决于以下变量 客户数量 每个主题的邮件数 订阅每个主题的客户端数 运行代理的计算机的大小 这个问题没有通用的答案,你必须测试并找出答案 不要订阅1000个不同的主题,而是尝试创建一个嵌套的主题结构 例如: forum1/posts/1456/commen

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


假设我在1000篇帖子上发表了1000条评论。对于这些帖子中的每一条新评论,我都会得到通知,所以要做到这一点,我想订阅所有1000个主题。这是一个好的解决方案吗?

这完全取决于以下变量

  • 客户数量

  • 每个主题的邮件数

  • 订阅每个主题的客户端数

  • 运行代理的计算机的大小

    这个问题没有通用的答案,你必须测试并找出答案


  • 不要订阅1000个不同的主题,而是尝试创建一个嵌套的主题结构

    例如:

    forum1/posts/1456/comments/1
    forum1/posts/1456/comments/2
    forum1/posts/1456/comments/3
    forum2/posts/54/comments/24
    
    然后,您可以使用通配符进行订阅:

    // get all comments about post 1456
    client.subscribe("forum1/posts/1456/#");
    
    这将收到id为1456的帖子上的所有评论。
    MQTT有两个通配符:#匹配任何深度,而+只匹配一个级别

    // get first comment of any post
    client.subscribe("forum1/posts/+/comments/1");
    

    查看HiveMQ博客上的文章以供进一步参考。

    订阅多个主题是否也会占用客户端更多内存(例如使用paho js客户端的移动应用程序)?否,因为客户端甚至没有保留订阅的主题列表