我一直在研究数据中心之间MySQL的高可用性(HA)解决方案。
对于位于同一物理环境中的服务器,我更喜欢使用主动被动方法的具有心跳(浮动VIP)的双主服务器。心跳通过串行连接和以太网连接进行。
最终,我的目标是在数据中心之间保持相同的可用性水平。我想在两个数据中心之间进行动态故障转移,而无需人工干预,并且仍然保持数据完整性。
顶部将是BGP。两个位置的Web集群都有可能路由到双方之间的数据库。如果站点1上的Internet连接中断,客户端将通过站点2路由到Web群集,然后路由到站点1中的数据库(如果两个站点之间的链接仍然可用)。
在这种情况下,由于缺乏物理链接(串行),因此更可能出现大脑分裂的可能性。如果两个站点之间的WAN断开,则VIP最终将出现在两个站点上,在此各种不愉快的情况都可能导致不同步。
我看到的另一个潜在问题是,将来很难将此基础架构扩展到第三个数据中心。
网络层不是重点。此阶段的体系结构很灵活。同样,我的重点是提供解决方案,以维护数据完整性以及MySQL数据库的自动故障转移。我可能会设计其余的东西。
您能否在两个物理位置不同的站点之间推荐一种成熟的MySQL HA解决方案?
感谢您抽出时间来阅读。我期待着阅读您的建议。