我将很快购买两台服务器,它们在硬件、软件和 WAMP 设置方面将是彼此的完全相同的副本。
我想通过将其中一台服务器作为另一台服务器的实时备份来为我的用户提供最大的正常运行时间。
也就是说,当主服务器由于某种原因出现故障时,所有流量都会被路由到备份服务器,这样用户就不会注意到任何事情。当主服务器恢复时,进入备份服务器数据库的任何新数据都会复制到主服务器。
如何在不与数据不一致的情况下实现这一目标?正常运行时间和数据完整性至关重要。
我将很快购买两台服务器,它们在硬件、软件和 WAMP 设置方面将是彼此的完全相同的副本。
我想通过将其中一台服务器作为另一台服务器的实时备份来为我的用户提供最大的正常运行时间。
也就是说,当主服务器由于某种原因出现故障时,所有流量都会被路由到备份服务器,这样用户就不会注意到任何事情。当主服务器恢复时,进入备份服务器数据库的任何新数据都会复制到主服务器。
如何在不与数据不一致的情况下实现这一目标?正常运行时间和数据完整性至关重要。
您想要实现的称为故障转移集群。这是一篇如何配置 Apache 集群的文章。此外,您还必须像集群一样配置 MySQL 数据库,更多信息请点击此处。您的任务不适合一个答案,因为必须根据您的特定情况进行配置。
对于 Dual-Master-Single-Writer,请参阅 MHA。它运作良好,除了“裂脑”。
为了数据完整性,不要一次写入多个 Master。
不要忘记担心飓风、地震等。您的两个设置应位于地理位置不同的位置。
只有两台服务器,而且它们在地理上是分开的,网络成为一个潜在的问题。这可能会导致“脑裂”,在这种情况下,您无法真正判断一个人已经死了,而您需要切换到另一个人。
任何类型的自动故障转移都会有几秒钟的非完全故障。
谈到“正常运行时间”,常用的技巧是告诉他们他们得到了多少个“9”。
请参阅 Galera(可通过 MariaDB 或 Percona 获得)可能是最好的(今天)HA 设置。