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


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

流程

  1. 打开 & lt;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 acceptor(或者您配置的 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 的值,如果 acceptor 收到一个大于 204800 字节的 AMQP 消息(即 200 KB),代理会将消息存储为大消息。如果您没有为此属性明确指定值,代理将使用默认值 102400(即 100 KB)。

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.