我可以使用什么解决方案跨城市进行MySQL复制?

时间:2017-05-22 22:02:12

标签: mysql database-replication

我们正在研究MySQL复制架构的选项,以及我们当前设置的相关细节:

  • 我们管理不同城市的几个分支机构。
  • 每个分支都有相同的数据库结构。
  • 所有表中的每个主键都以分支标识符为前缀。
  • 如果网络中断,我们需要一个分支继续工作,并且一旦连接恢复,它必须与主分支同步。

由于我们没有机会在任何表上获得重复索引,我正在考虑像 MySQL多主机,或者 Percona XtraDB集群 Tungsten 但我无法找到有关单个节点与其他节点隔离后会发生什么情况的文档以及连接恢复后收到的数据会发生什么情况。< / p>

是否有适合此类设置的经过验证的方法?我很感激任何建议,谢谢。

2 个答案:

答案 0 :(得分:0)

对于钨,它的行为取决于you tell it to behave

的方式

您似乎在描述轻松的一致性模型。但是没有现成的集群解决方案可以解决您的所有问题。当然,如果你确保每一条记录都只是在它的主页&#34;数据库然后你不应该遇到很多问题,但是这个模型还要求你将所有数据复制到所有的位置。带宽可能不是问题,它确实提供了良好的DR功能,但存储和可扩展性可能成为一个问题。

如果你有一个集中的,管理良好的数据中心,那么另一种方法是让每个分支都运行一个异步双主机 - 一个位于分支机构,另一个位于数据中心,然后滚动你自己的脚本来整合数据集。 / p>

答案 1 :(得分:0)

只要在节点不同步时不对相同数据执行UPDATE,多主复制就可以工作。在这种情况下,它将以静默方式应用更改,因此您的数据将变得不一致。

如果你不这样做,我认为它是最好的解决方案,因为MySQL负责处理二进制日志指针并处理重新连接。请确保在主人之间正确配置auto_increment_offset设置。无论如何,我只用2台主服务器测试了这个部署(生产7年,几乎没有问题)。