mysql检查半同步复制状态_谈谈MySQL的半同步复制

一,为什么要使用半同步复制?

MySQL复制默认是异步复制,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master Sever就自动返回数据给客户端,但并不知道Slave是否或何时已经接收且已处理,因此存在一定的概率备库与主库的数据是不对等的。在异步复制的机制的情况下,如果Master宕机,事务在Master上已提交,但很可能这些事务没有传到任何的Slave上。假设有Master->Salve故障转移的机制,此时Slave也可能会丢失事务。有些情况下需要保持主备库的强一致性,此时启用MySQL的半同步复制特性则是非常完美的。semi_sync_replication是google为mysql开发的一个基于半同步的补丁,从mysql5.5之后,mysql为了保证主从库数据一致性,引进了semi-sync功能。

在半同步复制的架构下,当master在将自己binlog发给slave上的时候,要确保slave已经接受到了这个二进制日志以后,才会返回数据给客户端。对比两种架构:异步复制对于用户来说,可以确保得到快速的响应结构,但是不能确保二进制日志确实到达了slave上;半同步复制对于客户的请求响应稍微慢点,但是他可以保证二进制日志的完整性。

二,半同步复制原理

半同步复制架构图如下所示:

ca4f2390bd2d6ce30a85da1ed560458c.png

半同步复制的概念&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值