MySQL半同步复制
来源:互联网 发布:paxos算法 应用 编辑:程序博客网 时间:2024/05/01 16:30
MySQL半同步复制
MySQL为了容灾数据一致性服务,有几种复制方式: 主从复制方式,异步,半同步,lossless半同步复制方式。
异步的复制: 默认的复制是异步的,即master commit时不等更新被slave接受就向客户端回话应答成功。slave会对master有一个更新延迟,当master宕机,slave被提升为新的master时,必然会发生数据丢失。
半同步复制:半同步复制时,master会等本地commit成功并且至少有一个半同步复制slave收到了binglog且写入relay log刷新到磁盘。
lossless半同步复制:就是先等待slave返回已接受到binglog并刷盘的应答,然后再提交Commit命令到存储层,说白了就是对调了一下两个操作的次序。
下面重点介绍下MySQL半同步复制:
注: 上图摘自微信后台团队。
上图描述了MySQL的Binlog半同步过程。Wait ACK是半同步的关键步骤,Master把Binlog发给Slave之后,需要等待Slave的ACK。Master直到成功收到ACK之后,才执行Engine Commit把数据持久化到Storage。具体细节可参考:http://my-replication-life.blogspot.com/2013/09/loss-less-semi-synchronous-replication.html
MySQL启动时,Wait ACK过程会被跳过,导致Engine Commit会被直接执行。具体细节请参考:https://jira.mariadb.org/browse/MDEV-162
总结:MySQL的半同步复制和Master切换都存在一些不足。数据复制存在回滚难题,Master切换存在多Master难题。
0 0
- MySQL半同步复制
- mysql半同步复制
- MySQL半同步复制
- MySQL半同步复制
- MySql-半同步复制
- MySQL半同步复制
- MySQL半同步复制
- MySQL半同步复制
- mysql半同步复制
- MySQL半同步复制
- MySQL半同步复制
- mysql半同步复制
- MySQL复制之半同步复制
- MySQL的主从复制,半同步复制
- MySQL复制之半同步复制
- mysql半同步复制<一>
- mysql半同步复制<二>
- MySQL半同步复制配置
- HBase管理 HBase数据备份方式对比
- 快速排序
- SonarQube程序系统质量管理平台介绍与使用
- 第二周 项目0-宣告主权
- 优化php效率,提高php性能的一些方法
- MySQL半同步复制
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- 第二周【项目3-体验复杂度】(2)汉诺塔
- 重要博客地址
- Ant和Maven特点
- iOS--多线程GCD延迟执行--07
- Mysql权限命令
- Golden Dream-9月
- linux /etc/fstab