mysql 主从 mix_分布式专题|Mysql主从复制的三种方式你应该要了解的!

基于我们前面我们搭建了Mysql主从复制架构,我们今天来介绍主从复制的三种方式,这在面试过程中也是会被经常问到的:

同步复制

同步复制指的是当主库提交事务后,binlog已经通过dump线程传到从库的中继日志,主库需要一直等待从库的提交确认,从库重放完成之后,回复一个ACK给主库,主库这才结束等待,执行后续操作,注意:如果这个时候有多个从节点,那么主库等待的时间就越久,所以需要设置一个超时等待时间。

7ab6f0eadf2810938d515c071b0957c2.png

在这里插入图片描述

异步复制

异步复制模式为了解决主库等待时间过长的问题,将返回确认取消了,也就是说当主库提交完事务后,不需要等待从库提交确认,就直接执行后续操作,返回客户端;但是这个就会造成这样一个问题:当主机提交完事务后挂了,但是这个时候binlog还没有同步到从库,如果强制切换主从的话,就会造成新的主库数据不完整

3b8b29cceb95fa135cbf2604e45d9e67.png

在这里插入图片描述

半同步复制

半同步方式介于同步和异步复制方式做了一个折中:同样主库还是需要等待从库的确认后才执行后续操作,但是不同的是这次不是等待从库提交完事务后,才发一个确认通知给主库,而是当从库将binlog写到relaylog后,就会给主库发送确认通知,这个不仅缩短了等待时间而且还维护了数据的安全性

d62d6539d694e01c10449314624f6242.png

在这里插入图片描述

增强半同步复制

在半同步复制情况下如果有这样一个情况:当主库提交完事务之后,就开始等待从库的relay写入返回,如果从库这个时候发生了意外(有可能被人偷走了),导致主库等待超时,这个时候主库就会直接结束等待了,因为事务已经提交了,用户肯定是可以看到没有被同步的数据,为了解决这个问题,mysql5.7引入了增强半同步复制: 只有当收到至少一个从库返回的relay log写入确认后,才提交事务,也就是说提交事务在收到确认之后

9370ec08486c7ea3b6c7c846b45dfcb3.png

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值