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


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

通常不 建议配置使用点对点和发布订阅语义的地址。但是,当您想要名为 Order 的 JMS 队列 JMS 主题也称为 Order 时,它 很有用 不同的路由类型使地址似乎与客户端连接不同。在这种情形中,JMS 队列制作者发送的消息使用 anycast 路由类型。JMS 主题制作者发送的消息使用 多播 路由类型。当 JMS 主题消费者连接到代理时,它将附加到其自身的订阅队列。但是,JMS 队列使用者附加到 anycast 队列。

下图显示了一起使用的点对点和发布订阅消息传递的示例。

指向点并发布订阅消息传递

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

注意

这种情况下的行为取决于所使用的协议。对 JMS 而言,主题和队列制作者和使用者之间存在明显区别,这使得逻辑非常简单。AMQP 等其他协议不做出这种区分。通过 AMQP 发送的消息由 任何广播和 多播 以及消费者默认路由到 anycast。如需更多信息,请参阅 第 3 章 在网络连接中配置消息传递协议

流程

  1. 打开 <broker_instance_dir>/etc/broker.xml 配置文件。
  2. anycast 配置元素周围的 address 元素包装到 address 元素中。例如:

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

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.