14.4.2. 配置消息重新发布


此流程演示了如何通过负载平衡配置消息重新发布。如果您希望在没有负载均衡的情况下重新发布消息,请将 <message-load-balancing> 设置为 OFF_WITH_REDISTRIBUTION

流程

  1. 打开 <broker_instance_dir>/etc/broker.xml 配置文件。
  2. <cluster-connection> 元素中,验证 <message-load-balancing> 是否已设置为 ON_DEMAND

    <configuration>
        <core>
            ...
            <cluster-connections>
                <cluster-connection name="my-cluster">
                    ...
                    <message-load-balancing>ON_DEMAND</message-load-balancing>
                    ...
                </cluster-connection>
            </cluster-connections>
        </core>
    </configuration>
  3. <address-settings> 元素中,为队列或队列集设置重新发布延迟。

    在本例中,平衡到 my.queue 的消息将在最后一个消费者关闭后重新分发 5000 毫秒。

    <configuration>
        <core>
            ...
            <address-settings>
                <address-setting match="my.queue">
                    <redistribution-delay>5000</redistribution-delay>
                </address-setting>
            </address-settings>
            ...
        </core>
    </configuration>
    address-setting
    match 属性设置为您要重新分发消息的队列的名称。您可以使用代理通配符语法来指定队列范围。如需更多信息,请参阅 第 4.2 节 “将地址设置应用到一组地址”
    redistribution-delay
    代理在此队列最终消费者关闭后应等待的时间(以毫秒为单位),然后再将消息重新分发到集群中的其他代理。如果将其设置为 0,消息将立即重新分发。但是,您通常应该在重新分发前设置延迟 - 用户通常会关闭另一个延迟,但在同一队列中可以快速创建另一个延迟。
  4. 对集群中的每个额外代理重复此步骤。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.