第 16 章 使用代理连接配置多站点、容错消息传递系统
大型企业消息传递系统通常具有分散的代理集群,位于地理分散的数据中心。如果数据中心中断,系统管理员可能需要保留现有的消息传递数据,并确保客户端应用可以继续生成和使用消息。您可以使用代理连接来确保在数据中心中断期间消息传递系统的连续性。此类解决方案称为 多站点、容错架构。
仅支持 AMQP 协议,用于代理连接的代理之间的通信。客户端可以使用任何受支持的协议。目前,消息将通过镜像过程转换为 AMQP。
以下小节解释了如何使用代理连接防止您的消息传递系统停机:
多站点容错能力不能取代数据中心 内 的高可用性(HA)代理冗余。基于实时备份组的代理冗余提供自动保护,防止单一群集内出现单一代理故障。相比之下,多站点容错功能可防止大规模数据中心中断。
16.1. 关于代理连接
通过代理连接,代理可以建立到另一个代理的连接,并将信息镜像到该代理或从该代理镜像。
- AMQP 服务器连接
- 代理可以使用代理连接使用 AMQP 协议启动到其他端点的连接。例如,这意味着代理可以连接到其他 AMQP 服务器,并在这些连接中创建元素。
AMQP 服务器连接支持以下类型的操作:
- mirrors - 代理使用 AMQP 与另一个代理的连接,并重复消息并通过线路发送确认。
- 发送者 - 特定队列中收到的消息传输到另一个代理。
- 接收器 - 代理从另一个代理拉取消息。
- peers - 代理在 AMQ 互连端点上创建发送者和接收器。
本章论述了如何使用代理连接来创建容错系统。有关 sender、接收器和对等选项的详情,请查看 第 17 章 桥接代理。
以下事件通过镜像发送:
- 消息发送 - 发送到一个代理的消息将"复制"到目标代理。
- 消息确认 - 确认从一个代理中删除信息将发送到目标代理。
- 队列和地址创建.
- 队列和地址删除.
如果目标镜像上的消费者的消息处于待处理状态,则确认不会成功,信息也可能由两个代理发送。
镜像不会阻止任何操作,不会影响代理的性能。
代理只会镜像从镜像配置时到达的信息。在以前的版本中,现有信息不会转发到其他代理。