【问题标题】:one connection, two channel. big message一个连接,两个通道。大信息
【发布时间】:2012-08-18 10:15:59
【问题描述】:

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

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

【问题讨论】:

  • 确保每个连接即使有多个通道也只能一次发送一条消息

标签: erlang rabbitmq


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    相关资源
    最近更新 更多