4.21. 迭代地址和队列
联合启用代理之间的信息传输,无需代理位于共同的集群中。代理可以是独立服务器,也可以在单独的集群中使用。另外,源和目标代理也可在不同的管理域中,这意味着代理可能具有不同的配置、用户和安全设置。代理甚至可能使用不同版本的 AMQ Broker。
例如,联合适合可靠地将消息从一个集群发送到另一个集群。此传输可能是跨广域网(WAN)、云基础架构的区域或互联网。如果从源代理到目标代理的连接会丢失(例如由于网络失败),则源代理会尝试重新建立连接,直到目标代理重新上线。当目标代理恢复在线时,消息传输会恢复。
管理员可以使用地址和队列策略来管理联合。策略配置可与特定地址或队列匹配,或者策略可包含与配置匹配的通配符表达式,以匹配一组地址或队列。因此,联合可以被动态应用,因为队列或地址添加到或从匹配的集合中删除。策略 可以包含多个 表达式,其中包括 和/或排除特定地址和队列。另外,多个策略可应用于代理或代理集群。
在 AMQ Broker 中,两个主要联合选项是 地址联合 和队列联合。这些选项在以下几节中加以描述。
代理可以包含联合 和 仅本地组件的配置。也就是说,如果您在代理上配置联合,您不需要联合该代理的所有内容。
4.21.1. 关于地址联合
地址联合是连接代理之间的完整多播分发模式。例如,发送到 BrokerA
上地址的每个消息都会被发送到该代理中的每个队列。另外,每个消息都会传送到 BrokerB
以及所有附加的队列。
地址联合动态将代理链接到远程代理中的地址。例如,如果本地代理想从远程代理上的地址获取信息,则在远程地址上会自动创建队列。然后,远程代理上的消息会被消耗到此队列。最后,消息将复制到本地代理上的对应地址,因为它们最初被直接发布到本地地址。
远程代理不需要重新配置,以允许联合它创建地址。但是,本地 代理需要被授予远程地址的权限。