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