第 4 章 配置地址和队列


4.1. 地址、队列和路由类型

在 AMQ Broker 中,寻址模型包含三个主要概念: 地址队列和 路由类型

地址 代表消息传递端点。在配置中,为典型的地址指定唯一名称、一个或多个队列,以及路由类型。

队列与 地址关联。每个地址可以有多个队列。传入的消息与地址匹配后,消息将发送到一个或多个队列,具体取决于配置的路由类型。队列可以配置为自动创建和删除。您还可以配置一个地址(以及其关联队列)作为 durable。持久队列中的消息可以保留崩溃或重启代理,只要队列中的消息也持久保留。相反,非持久队列中的消息在崩溃或代理重启后不会保留,即使消息本身是持久的。

路由类型决定了 消息如何发送到与地址关联的队列。在 AMQ Broker 中,您可以使用两个不同的路由类型配置地址,如表中所示。

表 4.1. 地址路由类型
如果您希望消息路由到…​使用此路由类型…​

匹配地址中的单个队列,以点到点的方式

anycast

匹配地址中的每个队列,采用发布订阅方式

multicast

注意

地址必须至少有一个定义的路由类型。

每个地址可以定义多个路由类型,但不推荐这样做。

如果一个地址同时定义了两个路由类型,并且客户端没有其首选项,则代理会默认使用 multicast 类型。

其他资源

4.1.1. 地址和队列命名要求

在配置地址和队列时请注意以下要求:

  • 为确保客户端可以连接到队列,无论客户端使用的有线协议,您的地址和队列名称 不应包含 以下任意字符:

    & :: , ? >

  • 数字符号(#)和星号(*)字符被保留为通配符表达式,在地址和队列名称中不应使用它们。更多信息请参阅 第 4.2.1 节 “AMQ Broker 通配符语法”
  • 地址和队列名称不应包含空格。
  • 要分隔地址或队列名称中的词语,请使用配置的分隔符字符。默认分隔符字符是句点(.)。更多信息请参阅 第 4.2.1 节 “AMQ Broker 通配符语法”
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.