MySQL专题(九):MySQL主从复制架构图 什么是数据半同步 主从复制架构中的数据延迟问题,应该如何解决? 数据库高可用架构管理的工具MHA的概念

前言

1.MySQL主从复制架构图
2.什么是数据半同步
3.主从复制架构中的数据延迟问题,应该如何解决?
4.数据库高可用:基于主从复制实现故障转移【数据库高可用架构管理的工具MHA】

1.MySQL主从复制架构图

MySQL主从复制架构图

2.什么是数据半同步

2.1:为什么提出数据半同步概念?

主库将日志写入binlog文件,接着自己就提交事务返回了,也不会管从库是否接收到日志,万一此时主库的binlog还没有同步到从库,结果主库宕机了,此时数据就丢失了,即使做了高可用切换,即可把从库切换为master主库,但是里面并没有刚刚写入的数据。

半同步的意思就是说:主库写入数据,日志进入binlog之后,至少确保binlog日志复制到从库了,再告知客户端本次事务写入成功,这样起码主库突然崩了,之前写入成功的数据的binlog日志都是抵达了从库,从库切换为主库,数据也是不会发生丢失的,这就是半同步

2.2:解决方案:一般搭建主从复制,都是采取半同步的复制方式
2.2.1:AFTER_COMMIT方案【非默认】

主库写入日志到binlog,等待binlog复制到从库了,主库就提交自己的本地事务,接着等待从库返回给自己一个成功的响应,然后主库返回提交事务成功的响应给客户端;

2.2.2:MySQL5.7默认的方式

主库将日志写入binlog,并且复制给从库,然后开始等待从库的响应,从库返回说成功给主库了,主库再提交事务,接着返回提交事务成功的响应给客户端;

这样就可以保证已经提交事务的数据绝对不会发生丢失!!!

3.主从复制架构中的数据延迟问题,应该如何解决?

问题场景:

主库写入了100条数据,结果从库复制过去了50条数据,那么从库就会落后主库50条数据,那么在读写分离情况下,写都在主库写,读都在从库读,如果延迟,会发生读不到最新的数据问题。

问题解决:

让从库也用多线程并发复制数据,这样从库复制数据的速度快了,延迟就会低了,MySQL5.7就已经支持并行复制了,可以在从库中设置参数。

4.数据库高可用:基于主从复制实现故障转移【数据库高可用架构管理的工具MHA】

一般生产环境中用于进行数据库高可用架构管理的工具是MHA,用per脚本写的工具,这个工具就是专门用于监控主库的状态,如果一旦不对劲,可以立即将从库切换为主库。

MHA也是需要单独部署的,分为两种节点,一个是manager节点,一个node节点,manager节点一般是单独部署一台机器的,node节点一般也是部署在每台MySQL机器上的,因为Node节点得通过解析各个MySQL日志来进行一些操作。

Manager节点会通过探测集群中的Node节点区判断各个Node所在机器上的MySQL是否运行正常,如果发现某个Master故障了,就直接将他的一个slave提升为master,然后让其他salve都挂到新的master上去,完全透明

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

咖喱ABC

无需打赏,共同进步学习!

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

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

打赏作者

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

抵扣说明:

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

余额充值