相关疑难解决方法(0)

MySQL 高可用性、故障转移和具有延迟的复制

我们正在实施在 MySQL 上运行的新 CMS (Drupal 6.x)。我们有两个数据中心——主要的和次要的——它们之间的延迟是已知的。我们不确定我们将运行哪个版本的 MySQL……社区或企业,但这是一个待定的时间。看起来我们将运行 InnoDB 引擎,操作系统将是 RedHat EL 5.5 主服务器将处于活动状态,而辅助服务器将处于被动或热备用状态。

我想在 MySQL 中跨两个数据中心实现复制、高可用性和自动故障转移。

在故障转移到辅助服务器后,当我们故障恢复到主服务器时,我们希望将数据从辅助数据库快速完整地同步到主数据库,以便我们可以继续提供来自主服务器的内容。

我很想知道可以使用哪些技术/工具/最佳实践来解决/解决这些问题。此外,任何陷阱或啊哈时刻也将不胜感激。我已经阅读了 MySQL 复制、集群和一些 3rd 方工具,如 Tungsten 和 Dolphinics,但我不确定什么是最好的行动方案。

感谢您的时间!

知识管理

mysql replication architecture clustering

8
推荐指数
1
解决办法
1万
查看次数

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

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

系统架构:

系统架构

先决条件:

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

题:

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

mysql replication

7
推荐指数
1
解决办法
1万
查看次数

使用 MySQL 复制,什么级别的弹性是可能的?

我找到了很多关于设置 MySQL 复制的好材料,但没有太多关于在发生故障时该怎么做。了解我可以达到的弹性程度是设计我的系统的基础,所以我不是在这里寻找“如何”管理建议,而是想了解可实现的语义。

因此,为了简化我的要求,我有一个应用程序,除非它可以读取数据库,否则无法运行。有两种场景:一是常见用法,一分钟请求很多,读数据库返回一个答案。其次,不那么频繁地用新数据更新数据库。更新延迟几分钟是可以接受的。

所以我的第一个想法是:Master->Slave

现在读者可以使用 Master 或 Slave,如果我们失去 Master 一段时间,读者可以对抗 Slave。

听起来很简单。但是......更严重的问题呢,如何手动恢复?多久时间?什么数据丢失?

以这个场景为例:Master->Slave。我们知道从站可能与主站有点不同步。现在假设我们失去了主人,这意味着它不会很快回来。

现在大概我们需要 Slave 成为可写的 Master,我们需要一个新的 Slave。

具体问题:

  1. 使奴隶成为主人需要多少时间和精力 - 我没有找到有关该做什么的文档。我猜这很容易。我们可以让这种接管无缝连接到客户端应用程序吗?调整DNS路由或一些这样的?
  2. 如果我们现在无法获取旧 Master 的日志,那么我们必须接受对 Master 的某些更新永远不会到达新 Master,我们是否会丢失数据?
  3. 创建新的 Slave 需要多少努力?我的猜测是,这并不难,但可能需要时间。我试图想象通过拥有两个 Slave 并调整复制来减少这种开销,以便当 Slave 1 成为新的 Master 时,Slave 2 现在成为那个新 Master 的从属。然而,考虑到复制的潜在延迟,我认为确保完全一致性并不容易。

mysql replication

5
推荐指数
1
解决办法
2370
查看次数

标签 统计

mysql ×3

replication ×3

architecture ×1

clustering ×1