我们正在将 MySQL DB 从 AWS RDS 迁移到 EC2。
RDS 为我们提供了可靠的 HA 解决方案,我们希望将其复制到 EC2 中。我们研究了 MySQL Utilities 和 MHA,它们都给我们带来了问题。因此,我们考虑使用 DIY 解决方案,其工作原理如下:
我们将拥有一个主服务器和一个从服务器副本(从服务器 1)。我们将拥有从服务器的一个从服务器副本(从服务器 2)。
主服务器和从服务器 1 将位于 HA 代理集群后面。
我们将密切监视大师。
如果主监视器检测到故障,我们将运行一个脚本,关闭主 EC2 实例并停止副本上的从属进程。
Slave 1 现在将成为 Master,而 Slave 2 将成为 Slave 1。新的 Slave 1 将被添加到 HA Proxy 集群。
然后,我们将从主服务器的备份(每 3 小时备份一次)重建从服务器 2。
我们显然需要小心,确保流程中的所有步骤都能顺利退出,并且我们拥有坚如磐石的错误处理能力。
有人能对我们提出的 DIY 解决方案的可行性提出意见吗?
答案1
我假设您在这里谈论的是异步复制......
虽然需要将从属服务器 1 配置为接受来自原始主服务器的更新,但将其配置为主服务器本身会省去故障转移过程中的一个步骤。
从属服务器 2 绝对不应该比主服务器晚几秒钟 - 那么为什么要从晚几个小时的备份中重建它呢?
您真的需要 2 个主动节点 + 1 个被动节点解决方案的容量吗?这会增加很多复杂性?如果主节点丢失,从节点 2 当前是否可以执行任何无法限制的操作?
或者您也可以采用多主复制。