跨数据中心MySQL主从复制的最佳解决方案

Tho*_*mas 7 mysql replication

我们正在为我们公司开发一种新的系统架构。我们有一个 HPC,它在我们自己的数据中心运行,我们正在规划我们的前端和 Amazon Web Service 上的后备系统。

系统架构:

系统架构

先决条件:

  • HPC集群写操作很多
  • 网站和API都在大部分时间读取数据,很少写入
  • 从 AWS 到我们集群的 Ping 大约是 35 毫秒
  • 如果我们的本地数据中心出现故障,应该在 AWS 上复制 HPC,将 MySQL Slave 变成新的 Master

题:

在这种设置中复制 MySQL 数据库的最佳解决方案是什么?

Rol*_*DBA 6

我有三 (3) 条建议,您可能需要查看...

建议#1

您可以在本地和 AWS 中使用 MySQL 5.5。您还将设置半同步复制。这样,在 Master 上执行的每个 SQL 语句都会将其最新记录的 SQL 语句发送到 Slave。

在我过去的帖子中(Jul 26, 2012不同 vlan/subnet/another site 上的 Mysql 数据库复制),我推荐了地理距离上的半同步复制。有趣的是,@AaronBrown 通过实验指出高延迟会降低半同步复制(参见他的博客)。

建议#2

如果您的所有数据都是 InnoDB,您可以使用Percona XtraDB Cluster(最好在 AWS 中有两个 Slave,但一个也可以)。为什么选择 Percona XtraDB 集群?您已同步写入。您唯一的主要瓶颈是网络通信(同样,高延迟会产生不利影响)

这是我过去关于使用 Percona XtraDB Cluster 的帖子

建议#3

如果你想加强每个数据中心的本地数据副本,我建议使用 DRBD,不要跨越地理距离,而是在每个数据中心都有一个 DRBD 集群。在您的情况下,至少在本地数据中心有 DRBD。

这是我过去关于此建议的帖子:


归档时间:

查看次数:

11393 次

最近记录:

13 年,10 月 前