Amazon web services 订户数量是否影响MQTT中的接收时间?

Amazon web services 订户数量是否影响MQTT中的接收时间?,amazon-web-services,mqtt,aws-iot,messagebroker,Amazon Web Services,Mqtt,Aws Iot,Messagebroker,我想知道特定主题的订阅者数量是否会导致每个订阅者接收消息的延迟? 如果是,它是与代理的实现有关还是与MQTT的性质有关 我在各种经纪人的文档中找不到任何东西,或者可能找不到合适的术语来搜索 scenario 1 : topic1 publisher --> broker --> 1 subscriber scenario 2 : topic1 publisher --> broker --> 2 or more subscribers 在场景1中,订阅服务器接收消息的

我想知道特定主题的订阅者数量是否会导致每个订阅者接收消息的延迟?
如果是,它是与代理的实现有关还是与MQTT的性质有关

我在各种经纪人的文档中找不到任何东西,或者可能找不到合适的术语来搜索

scenario 1 :
topic1
publisher --> broker --> 1 subscriber

scenario 2 :
topic1
publisher --> broker --> 2 or more subscribers
在场景1中,订阅服务器接收消息的速度是否比场景2快?

或者每个订户同时收到消息?

这主要取决于代理的实现方式,但其他因素也会产生影响

对于大多数代理,传递特定消息的处理可能是单线程的,并遵循以下步骤:

  • 代理从发布客户端接收发布数据包
  • 在接收消息的线程上,它开始搜索已连接客户端的订阅主题模式列表
  • 找到匹配项后,它会将发布数据包发送到该客户机,并转到下一个客户机
使用设计良好的订阅主题树结构,则搜索时间不应根据订阅的客户端数量而变化,而应根据匹配模式(重叠通配符)的数量而变化。但是发送到匹配的客户机将是线性的

另一个因素是消息的大小和网络到每个客户端的速度


您可能可以在单个代理中并行其中的一部分,但这仍然会限制网络接口或分布式代理(但这会增加将原始消息推送到其他节点的开销)

首先感谢您的回答。“使用设计良好的订阅主题树结构,搜索时间不应因订阅客户端的数量而改变,而应仅取决于匹配模式的数量(重叠通配符)”如果我理解正确,您的意思是使用通配符也会导致延迟?我的出版商正在发送这样的主题:factory/gw/sensor/datatype-gw,sensor和datatype是动态的。我的两个或更多订阅者订阅了factory/#以接收此模式工厂的所有数据/#也会导致延迟?不,我只是说可能有多个主题模式与消息匹配。e、 g.
factory/gw/sensor/datatype
将匹配
factory/
+/gw/sensor/datatype
以及更多可能的组合,并匹配不同的通配符主题,可能会导致某些客户端比其他客户端接收到消息的时间稍晚。同样,这完全取决于代理是如何实现的。这将只在性能测试调查中得到回答,如中所述