如果对于一个客户端,它建立一个连接,并在此连接中创建两个通道。 它开始通过第一个频道向Rabbitmq的交换发送一条大消息(5MB)。网络速度很低,例如每秒100kb。一秒钟后,它开始通过第二个通道向另一个rabbitmq的交换机发送另一条小消息(10kb)。
在第一条消息(5MB)完成之前,第二条消息(10kb)是否不会发送任何字节?
答案 0 :(得分:1)
消息被分成帧,来自不同信道的帧可以在同一连接上交织。这意味着您的第二个(较小的)消息不必等待第一个消息完成,5MB消息被分成几个帧(给定RabbitMQ的默认最大帧大小为128KB)并且两个消息的帧的发送将是交错的