8.2. 为大型消息处理配置 AMQP 接收器
以下流程演示了如何配置 AMQP 接受者,以处理大于指定大小的 AMQP 消息作为大消息。
步骤
打开
<broker-instance-dir>/etc/broker.xml
配置文件。代理配置文件中的默认 AMQP 接受器如下:
<acceptors> ... <acceptor name="amqp">tcp://0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor> ... </acceptors>
在默认 AMQP 接受器(或您配置的另一个 AMQP 接受者)中,添加
amqpMinLargeMessageSize
属性并指定值。例如:<acceptors> ... <acceptor name="amqp">tcp://0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpMinLargeMessageSize=204800</acceptor> ... </acceptors>
在前面的示例中,代理配置为接受端口 5672 上的 AMQP 消息。根据
amqpMinLargeMessageSize
的值,如果接受者收到大于或等于 204800 字节的 AMQP 消息(即 200 KB),代理将消息保存为大消息。如果您没有为此属性显式指定值,代理会使用默认值 102400(即 100 KB)。
注意
-
如果将mq
pMinLargeMessageSize
设置为 -1,则禁用用于 AMQP 消息的大型消息处理。 -
如果代理收到未超过mqp
MinLargeMessageSize
的值的持久 AMQP 消息,但该消息超过了消息传递日志缓冲区的大小(使用journal-buffer-size
配置参数指定),代理会将消息转换为大型 Core Protocol 消息,然后再将其保存到日志中。