4.10. 配置分片队列


跨队列处理消息的一种常见模式是使用 队列分片。这意味着您定义一个充当单一逻辑队列的 任播 地址,但受到许多底层物理队列的支持。

流程

  1. 打开 <broker_instance_dir>/etc/broker.xml 配置文件。
  2. 添加 address 元素并设置 name 属性。例如:

    <configuration ...>
      <core ...>
        ...
        <addresses>
           <address name="my.sharded.address"></address>
        </addresses>
      </core>
    </configuration>
  3. 添加 anycast 路由类型,并包含所需的分片队列数。在以下示例中,队列 q1、q 2q3 添加为 任播 目的地。

    <configuration ...>
      <core ...>
        ...
        <addresses>
           <address name="my.sharded.address">
              <anycast>
                 <queue name="q1" />
                 <queue name="q2" />
                 <queue name="q3" />
              </anycast>
           </address>
        </addresses>
    </core>
    </configuration>

根据上述配置,发送到 my.sharded.address 的消息在 q1、q2 和 q 3 之间均匀分布。当使用完全限定队列名称(FQQN)时,客户端可以直接连接到特定的物理队列。并且仅接收发送到该特定队列的消息。

要将特定消息绑定到特定队列,客户端可以为每个消息指定消息组。broker 将消息分组到同一队列,一个消费者对其进行全部处理。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.