搜索

4.5. 为点到点和发布-订阅消息传递配置地址

download PDF

您还可以使用点对点 和发布 订阅语义配置地址。

通常不建议将地址配置为同时使用点到点和发布订阅模式。但是,如果需要,它可能会有用。例如,一个名为 orders 的 JMS 队列,以及名为 order 的 JMS 主题。不同的路由类型使地址似乎因客户端连接而异。在这种情况下,由 JMS 队列生成者发送的消息使用 anycast 路由类型。JMS 主题制作者发送的消息使用 多播路由 类型。当 JMS 主题消费者连接到代理时,它会附加到自己的订阅队列。但是,JMS 队列消费者附加到任何广播 队列

下图展示了点对点以及一起使用的发布-订阅消息示例。

指向并发布订阅消息传递

以下流程演示了如何为点对点和发布订阅消息传递配置地址。

注意

这种情境的行为取决于所使用的协议。对于 JMS,主题和队列制作者与消费者之间有一个明确的区别,这使得逻辑变得非常简单。AMQP 等其他协议并不能实现这种区分。通过 AMQP 发送的消息以 anycastmulticast 路由,消费者默认为 anycast。更多信息请参阅 第 3 章 在网络连接中配置消息协议

流程

  1. 打开 & lt;broker_instance_dir> /etc/broker.xml 配置文件。
  2. 使用在 address 项中的 queue 项环绕一个 anycast 配置项。例如:

    <configuration ...>
      <core ...>
        ...
        <address name="orders">
          <anycast>
            <queue name="orders"/>
          </anycast>
        </address>
      </core>
    </configuration>
  3. 向地址添加一个空的 multicast 配置元素。

    <configuration ...>
      <core ...>
        ...
        <address name="orders">
          <anycast>
            <queue name="orders"/>
          </anycast>
          <multicast/>
        </address>
      </core>
    </configuration>
    注意

    通常,代理根据需要创建订阅队列,因此无需列出 多播 元素内的特定队列元素。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.