MySQL 复制还是 MySQL 集群?

MySQL 复制还是 MySQL 集群?

目前,我在第一台服务器上运行带有 MySQL 的 Rails 3 Web 应用程序,在第二台服务器上运行从第一台服务器连接到 MySQL 数据库的 Rails API 应用程序。

我不满意 API 依赖于第一台服务器的数据库,并决定采用复制/集群,但我不确定对我的情况来说最好的选择是什么?

  • 主从复制,我们的api不是只读的,它也写入了很多信息,所以看起来不那么明亮。
  • 主 - 主复制,太害怕数据不一致,因为它可能不同步。
  • MySQL 集群 - 这对我来说似乎是最好的选择,但我不确定它是否值得集群化仅 2 个节点

如果一个节点发生故障,是否意味着一旦该节点恢复运行并消耗第二个节点作为供体,整个集群将不可用?我该如何避免这种情况?

您认为我最好的选择是什么?

答案1

因此,您不能仅聚集 2 个节点。您需要一个法定人数,否则您可能会丢失一台服务器并出现裂脑,然后您就不确定哪个节点拥有哪些数据。

您可以拥有 2 台数据服务器和第 3 台投票服务器,该投票服务器不存储数据,而只是作为集群成员进行投票。

我通常做的是有一个 mysql 集群,让我所有的客户端本地连接到 haproxy,然后 haproxy 决定将连接发送到哪里,并且它 100% 的时间将所有写入发送到单个服务器,直到它死机,然后它转到备份服务器。

相关内容