4.21.2. 用于地址联合的常见拓扑


下面介绍了一些常用的地址联合拓扑。

对称拓扑

在对称拓扑中,生产者和使用者连接到每个代理。队列及其消费者可以接收由任一制作者发布的消息。对称拓扑的示例如下所示:

图 4.1. 对称拓扑中的问题进行联合

在为对称拓扑配置地址联合时,务必要将 address 策略的 max-hops 属性的值设置为 1。这样可确保 只复制一次 消息,从而避免了 cyclic 复制。如果此属性设置为较大的值,则消费者将收到同一消息的多个副本。

完整网格拓扑

完整网格拓扑与对称设置类似。三个或者多个对称的代理相互联合,创建一个完整的网格。在这个设置中,生产者和使用者连接到各个代理。队列及其消费者可以接收由任何制作者发布的消息。该拓扑示例如下所示。

图 4.2. 完整网格拓扑中的问题

与对称设置一样,在为完整的网格拓扑配置地址联合时,务必要将 address 策略的 max-hops 属性的值设置为 1。这样可确保 只复制一次 消息,从而避免了 cyclic 复制。

Ring 拓扑

在 ring 的 ring 中,每个联合地址都是上游的。该拓扑示例如下所示。

图 4.3. 环拓扑中的地址联合

当您为环形拓扑配置联合时,为了避免 cyclic 复制,务必要将 address 策略的 max-hops 属性设置为 n-1 的值,其中 n 是环中的节点数。例如,在上方显示的 ring 拓扑中,max-hops 的值设置为 5。这可确保环中的每个地址分别看到 一次消息

环拓扑的一个优点是,在您需要进行的物理连接数量的情况下,设置得很便宜。但是,这种拓扑的缺陷在于,如果单个代理出现故障,整个环将会失败。

fan-out 拓扑

在 fan-out 拓扑中,一个 master 地址通过联合地址树链接到一起。发布到主地址的任何消息都可由连接到树中的任何代理的任何消费者接收。树形可以配置为任何深度。还可以扩展树,无需重新配置树中的现有代理。该拓扑示例如下所示。

图 4.4. 在 fan-out 拓扑中解决了问题

当您为 fan-out 拓扑配置联合时,请确保将地址策略的 max-hops 属性设置为 n-1 的值,其中 n 是树中的级别数。例如,在上方显示的 fan-out 拓扑中,max-hops 的值设置为 2。这样可保证树中的每个地址都会 精确看到消息一次

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.