8.2. 为大型消息处理配置 AMQP 接收器


以下流程演示了如何配置 AMQP 接收器来处理大于指定大小的 AMQP 消息作为大型消息。

流程

  1. 打开 <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>
  2. 在默认的 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 的值,如果接收器收到 AMQP 消息,其正文大于或等于 204800 字节(即 200 KB),代理会将消息存储为大消息。如果您未明确为此属性指定值,代理将使用默认值 102400(即 100 KB)。

注意
  • 如果将 amqpMinLargeMessageSize 设置为 -1,则禁用对 AMQP 消息的大型消息处理。
  • 如果代理收到的 AMQP 消息没有超过 amqpMinLargeMessageSize 的值,但会 超过 消息传递日志缓冲区的大小(使用 journal-buffer-size 配置参数指定),代理会将消息转换为大型核心协议消息,然后再将其存储在日志中。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.