假设我有两个数据中心,其中托管了 MySQL 数据库的两个实例。为了有高可用性,我可以在这两个实例之间实现主从复制,这样两个数据库总是有最新的信息。但是主-主复制有它自己的一系列问题,我试图避免它。就我而言,我知道数据的以下特征 -
如果用户表有两条记录,键为 U1 和 U2,则 U1 将仅在一个且唯一的实例中更新。因此,对给定记录的写入仅在一个实例中完成。我需要做的就是将此记录复制到其他实例,以便以后我想将另一个实例设为主实例,它具有最新的记录。此外,有可能在某个时间点,实例 1 是 U1 的主设备,而在另一个时间,实例 2 是 U1 的主设备。
我认为这是真正的主主复制下的一步,其中 U1 的写入可以发生在两个数据库实例中的任何一个中。
鉴于此,有没有更好的方法来实现这种场景的复制。我想避免主-主复制,因为将来我们可能有超过 2 个数据中心,并且实现多主复制不是直截了当的。