Rabbitmq 什么属性使MQTT具有高延迟?

Rabbitmq 什么属性使MQTT具有高延迟?,rabbitmq,mq,mqtt,Rabbitmq,Mq,Mqtt,我能想到的唯一可能的原因是低开销的ie固定头大小最小只有2个字节,导致低数据包大小。协议设计中是否有其他因素 编辑:-很抱歉,我犯了一个思维错误(?),正如@Shashi所指出的,我实际上指的是高延迟、低带宽。MQTT是为内存占用少、网络带宽低等设备设计的。传感器、电能表、起搏器等设备是MQTT的理想使用案例。低延迟意味着高速度。对于低延迟,您需要不同的协议,如通过千兆以太网或InfiniBand网络运行的可靠多播 关键因素之一是,MQTT客户机建立的TCP连接始终被重用。这意味着您不必像经典H

我能想到的唯一可能的原因是低开销的ie固定头大小最小只有2个字节,导致低数据包大小。协议设计中是否有其他因素


编辑:-很抱歉,我犯了一个思维错误(?),正如@Shashi所指出的,我实际上指的是高延迟、低带宽。

MQTT是为内存占用少、网络带宽低等设备设计的。传感器、电能表、起搏器等设备是MQTT的理想使用案例。低延迟意味着高速度。对于低延迟,您需要不同的协议,如通过千兆以太网或InfiniBand网络运行的可靠多播

关键因素之一是,MQTT客户机建立的TCP连接始终被重用。这意味着您不必像经典HTTP那样一直建立新连接。另外,正如您已经怀疑的,非常低的数据包大小是关键,典型的MQTT消息与原始TCP数据包相比没有太多开销


为了在不可靠的网络上节省更多带宽,MQTT的持久会话功能允许客户端只订阅一次,并且在重新连接时为客户端保留订阅。对于订阅客户端,这可以大大减少开销,因为订阅消息只发送一次。

另一个原因,似乎是最后的遗嘱和遗嘱功能,这在高延迟网络、低带宽和不可靠网络中是一个有用的功能。

我想你犯了和我一样的错误;-)