主/从复制负载平衡,如果主与 Galera 关闭

Posted

技术标签:

【中文标题】主/从复制负载平衡,如果主与 Galera 关闭【英文标题】:Master/Slave replication load balancing if master down with Galera 【发布时间】:2014-09-24 10:07:42 【问题描述】:

我有点迷路了,我想在MariaDB 数据库上设置一个通用的MASTER/SLAVE 复制。我选择MASTER/SLAVE 而不是MASTER/MASTER 以避免使事情复杂化。仅当MASTER 服务器关闭时,才会使用SLAVE

我已经设置了MariaDB 10.0.x,但是当我开始阅读如何实现这种复制时,他们介绍了 Galera,如果我理解正确的话,它会取代 MariaDB。

如果 MASTER 服务器宕机,你用什么来告诉 SLAVE 服务器进行中继?是否通过 Galera Cluster 自动处理?

如果可能,我不希望我的应用程序知道从服务器:我只想使用 MariaDB MASTER 的 IP 对其进行配置,如果无法访问,则改用从服务器。 (但我不想在应用程序级别指定此回退)

谢谢

【问题讨论】:

您在谈论两件不同的事情。主/从复制用于将负载分散到多个服务器上,或允许将数据复制到本地办公室以加快读取速度。主处理所有更新,从属只读。听起来您正在寻找一种“故障转移”解决方案,该解决方案无法很好地处理复制。 Galera 是一种服务器集群解决方案,其中所有节点都是主节点,并且可以更好地处理故障。您可以使用复制,但故障转移需要通过手动重新配置来完成。 是的,看来我把事情搞混了。首先,Galera 不能做主/从复制?手动重新配置是什么意思?你的意思是当master不可达时我必须手动采取行动? Galera 同时更新所有节点(主节点),所以从某种意义上说是的,它进行复制,但不是主从复制。使用 MariaDB / mysql 复制,所有更新都在单个主服务器上完成,然后将更新推送到从服务器。如果 master 失败,您需要手动将其中一个 slave 更改为 master,然后将其他 slave 指向它。阅读此severalnines.com/… 【参考方案1】:

您正在寻找的可以实现。我刚刚使用异步复制(不是 Galera)完成了 MariaDB 10 的设置。为了确保最大的正常运行时间,我设置了主/主复制并使用 mysql-mmm 来监控设置。该工具将管理一个虚拟 IP 并将其指向两个主机之一以用于编写目的。这确保了针对单个主服务器的一致写入,以避免数据损坏。如果一个主控发生故障,虚拟 IP 将映射到另一个主控。这提供了高可用性方面。以下说明非常清晰易懂。

http://mysql-mmm.org/mmm2:guide

祝你好运!

【讨论】:

以上是关于主/从复制负载平衡,如果主与 Galera 关闭的主要内容,如果未能解决你的问题,请参考以下文章

基于Galera Cluster多主结构的Mysql高可用集群

利用Galera Cluster解决主主复制单点问题

MariaDB Galera Cluster安装

部署mariadb高可用

部署mariadb高可用

MariaDB基于MHA和Galera Cluster实现高可用