mysql异步复制与半同步复制的架构原理

迷徒少年 2017-12-18 20:37:14

mysql异步复制与半同步复制的架构原理

在mysql5.5版本之前,复制都是异步复制,(关于异步复制的原理请大家自己参照下面的半同步复制,两者只是略有不同)。 该复制经常遇到的问题是:因为binlog日志是推送的,所有主库和从库之间存在一定的延迟。 这样就会造成很多问题,比如主库因为磁盘损坏等故障突然崩掉,导致binlog日志不存在,同时因为延迟binlog还没有推送到从库,从库也就会丢失很多被主库提交的事物,从而造成主从不一致。

解决如上的问题,mysql5.5版本之后引入了半同步复制机制。

异步复制:主库写入一个事务commit提交并执行完之后,,将日志记录到binlog,将结果反馈给客户端,最后将日志传输到从库。

mysql异步复制与半同步复制的架构原理

半同步问题:主库写入一个事务commit提交并执行完之后,并不直接将请求反馈给前端应用用户,而是等待从库也接收到binlog日志并成功写入中继日志后,主库才返回commit操作成功给客户端。半同步复制保障了事物执行后,至少有两份日志记录,一份在主库的binlog上 ,另一份至少在从库的中继日志Relay log上,这样就极大的保证了数据的一致性。

mysql异步复制与半同步复制的架构原理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值