MQTT代理可以处理的最大主题数是多少?

时间:2015-12-30 02:22:19

标签: node.js mqtt iot

我正在使用node.js mosca MQTT代理来处理某些物联网(iot)应用程序。

https://github.com/mcollina/mosca

MQTT代理(特别是mosca)可以处理的最大主题数是多少?

如果我想增加允许的主题数量,是否有可以修改的配置参数或者我可以更改哪部分代码?

3 个答案:

答案 0 :(得分:1)

如果不查看mosca的来源,我将就通用经纪人做一般性陈述。

主题的数量将由客户端订阅的主题数量来设置,因为此列表是在发布新消息时搜索的内容,因此假设此列表保留了某种树结构(这是很可能是由于主题的分层性质)然后限制可能是服务器上的内存量(假设64位主机)。

此外,由于mosca在nodejs上运行,因此具有大量主题可能会在内存不足之前影响性能。

答案 1 :(得分:0)

虽然hardlib的答案是正确的,但我想补充一点,可能主题的数量当然受到经纪人/客户最大主题长度的限制。

如果严格遵循MQTT规范,我们讨论的是7 ^ 65536个可能的主题(如here所述),但对于较小的代理/客户端(例如嵌入式东西),最大主题长度可以小很多比65536字节。例如,PubSubClient对于整个数据包的默认最大长度为128字节

答案 2 :(得分:0)

如果您将MQTT代理视为第4层交换机(在客户端之间切换消息)并且主题是它所打开的地址(密钥),那么如果您必须执行任何操作来启用a,那么它将是设计糟糕的代理大量话题。

我们遇到的常见应用程序是每个单独的发布商至少有一个主题,如果不是数十万个发布商,则会有数千个。