IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案

目录

MHA介绍

​MHA故障发现

​MHA故障转移

MHA优缺点

专栏链接:IT老齐架构300讲笔记专栏


MHA介绍

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第1张图片

场景:主服务器挂了,从服务器不会切换到主服务器,从而引出高可用MHA方案 。

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第2张图片

MHA故障发现

1、启动前置检查(配置文件等,不细说)
2、运行过程:若master挂了,MHA如何认定需要进行故障转移?
(1)manger每3秒向主节点发送select 1 的SQL语句,判断主节点是否执行3次ping无反应,认定master异常
(2)避免网络导致的无法ping通,manger让从属服务器MHA node尝试SSH登录检查若所有node连接不上,从而认定,开始故障转移。

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第3张图片
MHA故障转移

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第4张图片

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第5张图片

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第6张图片

1、切断外界链接(断开虚拟IP跟怀疑挂掉的主机链接),主从同步也断开
2、manager使用SSH拉取备份服务器的binlog(复制保存到manager)
3、由于binlog跟从服务器的relaylog的数据可能存在不一致,从而进入转移,使得数据保持一致
4、从属服务器之间进行比对,node会检查relaylog哪个是最新的(理解上不管他怎么检查吧),向其他节点发送差异数据并应用
5、这时从属服务器的relaylog一致了,但和主服务器的binlog还可能不一致。这时将旧的master binlog差异的数据发送到从属服务器上并应用
6、数据均一致后,面临以谁为主服务器进行迁移的问题?有三种方案

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第7张图片

1、manger指定谁主
2、看哪个节点的日志最新
3、按注册实例列表向后选择(manger中对sql有记录)

  1. 确定谁是主后,从服务器通过changer master命令完成主从链接。
  2. 将原虚拟IP指向新的主服务器
  3. 当旧的主服务器恢复正常,作为从服务器和新的主服务器进行同步(MHA自动完成)


这个过程存在的细节问题有:
1、binlog不完整
2、迁移丢包,数据不完整
3、旧主服务器跟binlog日志不一致

MHA优缺点

IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案_第8张图片

 

你可能感兴趣的:(架构,中间件,IT老齐架构300讲笔记,MySQL,mysql,架构,MHA,IT老齐架构300讲)