如果对于一个客户端,它建立一个连接,并且在这个连接中创建两个通道。它开始通过第一通道向rabbitmq的交换机发送一条大消息(5MB)。网络的速度很低,例如,每秒100kb。一秒钟后,它开始通过第二个通道向另一个rabbitmq的交换机发送另一个小消息(10kb)。
第二条消息(10kb)在第一条消息(5MB)完成之前不会发送任何字节吗?
发布于 2012-08-24 07:24:38
消息被拆分成帧,来自不同通道的帧可以在同一连接上交错。这意味着你的第二个(较小的)消息不必等待第一个消息完成,5MB的消息被分成几个帧(给定RabbitMQ的默认最大帧大小为128KB),并且两个消息的帧的发送将是交错的。
https://stackoverflow.com/questions/12082461
复制相似问题