MySQL高可用MHA架构方案

21 篇文章 0 订阅

一、完整的MHA的架构方案
在这里插入图片描述

二、MHA故障发现与转移过程

在这里插入图片描述

MHA在启动的时候会有前置检查

MHA会每3s向主节点发送一个select 1 的sql语句,看主节点能不能执行成功,并且把1返回,如果能正常的返回那么证明现在的主节点是可以使用的,如果连续ping3都无法通信的话,现在MHA就会认为主节点是存在问题的,但是可能是网络的原因,所以HMA manager会通知所有的从属节点,slave1 MHA node,slave2 MHA node等,尝试使用SSH连接主节点,如果从属节点也无法连接到服务器的时候,就会认为主节点挂掉了,就会执行故障转移的操作。

故障发现的过程:
在这里插入图片描述

首先会切断VIP虚拟IP和主节点的连接,同时主从之间的连接也会断开,然后MHA manager会连接到binlog server备份服务器,然后获取备份服务器的binlog日志,把binlog日志保存到MHA manager服务器上。

故障转移的过程:
在这里插入图片描述
首先从属服务器之间会进行数据的比对,作为MHA manager会下发指令进行故障转移,会查看那个节点的relaylog是最新的,查询到最新的之后,作为最新的节点服务器就会向所有的节点服务器发送差异数据。把缺失的日志内容发送给节点服务器,然后同步数据。首先要保证,从属服务器节点之间的数据是同步的

在这里插入图片描述
虽然所有的从属节点的数据都是同步的,但是和备份服务器里面的binlog还是存在差异的,然后MHA manager 会把从备份服务器里面拿到的binlog日志和从节点的binlog会进行比较,把存在差异性的部分发往每一个从属节点,从属服务器接收到差异之后,与当前的binlog合并并应用,这样所有的从属服务器的数据和我们主服务的数据就同步了。

在这里插入图片描述
然后就到了选择那个服务器作为主服务器:
方案一:指定谁是主

方案二:看那个的slave的日志是最新的

方案三:按注册实例列表向后选择

在这里插入图片描述

最后MHA manager 会让VIP虚拟IP指向新的主服务器

在这里插入图片描述
原有的主服务器恢复后,会作为从服务器来使用,这个会由MHA自动来完成的

MHA的优缺点:
优点:
由per语言开发的开源工具
可以支持基于GTID的复制模式
当主DB不可用时,从多个从服务器中选举出来新的主DB
提供了主从切换和故障转移功能,在线故障转移时不易丢失数据
同一个监控节点可以监控多个集群

缺点:
需要编写脚本或利用第三方工具来实现VIP的配置
MHA启动后只只监控主服务器是否可用,没办法监控从服务器
需要基于SSH免认证登录配置,存在一定的安全隐患
没有提供从服务器的读负载均衡功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原克技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值