Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MQTT代理可以处理的最大主题数是多少?_Node.js_Mqtt_Iot - Fatal编程技术网

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

Node.js MQTT代理可以处理的最大主题数是多少?,node.js,mqtt,iot,Node.js,Mqtt,Iot,我正在将node.js mosca MQTT代理用于某些物联网(iot)应用程序 MQTT代理(特别是mosca)可以处理的最大主题数是多少 如果我想增加允许的主题的数量,是否有一个配置参数可以修改,或者可以更改代码的哪一部分?在不查看mosca源代码的情况下,我将对通用代理做一个概述 主题数量将由客户端订阅的主题数量设置,因为此列表是发布新消息时搜索的内容,因此假设此列表保留在某种树结构中(这很可能是由于主题的层次结构),那么限制可能是服务器上的内存量(假设为64位主机) 此外,由于mosc

我正在将node.js mosca MQTT代理用于某些物联网(iot)应用程序

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


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

在不查看mosca源代码的情况下,我将对通用代理做一个概述

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


此外,由于mosca运行在NodeJ上,因此是单线程的,在内存不足之前,拥有大量主题可能会影响性能。

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


如果这严格遵循MQTT规范,我们将讨论7^65536个可能的主题(如所述),但对于较小的代理/客户机(例如嵌入式内容)最大主题长度可以远小于65536字节。例如,整个数据包的默认最大长度为128字节。

如果您将MQTT代理视为第4层交换机(在客户端之间交换消息),并且主题是地址(密钥)如果打开它,那么如果您必须做任何事情来启用大量主题,那么它将是一个设计糟糕的代理

我们遇到的常见应用程序是每个单独的发布者至少有一个主题,如果不是成千上万的发布者,也有数千个