2

如果对于一个客户端,它会建立一个连接,并在此连接中创建两个通道。它开始通过第一个通道向rabbitmq 的交易所发送一条大消息(5MB)。网络速度较低,例如每秒 100kb。一秒钟后,它开始通过第二个通道发送另一个小消息(10kb)到另一个rabbitmq的交换。

在第一条消息(5MB)完成之前,第二条消息(10kb)是否不会发送任何字节?

4

1 回答 1

1

消息被分割成帧,来自不同通道的帧可以在同一个连接上交错。这意味着您的第二条(较小的)消息不必等待第一条消息完成,5MB 消息被分成几个帧(给定 RabbitMQ 的默认最大帧大小为 128KB),并且两条消息的帧的发送将交错.

于 2012-08-24T07:24:37.963 回答