设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 站长学院 > MySql教程 > 正文

5.7版本 Semisync Replication 加强

发布时间:2022-03-31 10:40 所属栏目:115 来源:互联网
导读:5.7版本 Semisync Replication 加强: 一 前言 前文 介绍了5.5/5.6 版本的MySQL semi sync 基础原理和配置,随着MySQL 5.7 的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能。 支持发送binlog和接受ack的异步化; 支持在事务commit前等待ACK;
        5.7版本 Semisync Replication 加强:

一 前言
      前文 介绍了5.5/5.6 版本的MySQL semi sync 基础原理和配置,随着MySQL 5.7 的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能。
      支持发送binlog和接受ack的异步化;
      支持在事务commit前等待ACK;
      在server层判断备库是否要求半同步以减少Plugin锁冲突;
      解除binlog dump线程和lock_log的冲突等等。
 
二 优化
1 支持发送binlog和接受ack的异步化
通过前面的介绍,我们知道Semisynchronous Replication模式下,app在主库上提交一个事务/event,MySQL将每个事务写入binary并且同步到到slave ,master会等待至少一个slave通知:slave 已经接收到传过来的events并写入relay log,才返回给回话层 写入成功,或者直到传送日志发生超时,系统自动将为异步复制模式。
整体流程的逻辑图
 
2 支持在事务commit前等待ACK;
   新版本的semi sync 增加了rpl_semi_sync_master_wait_point参数 来控制半同步模式下 主库在返回给会话事务成功之前提交事务的方式。
 
三 推荐阅读
注:最后三个来自于MySQL replication 开发小组的blog,需要翻墙,请自备梯子。
[1] 5.7 Semisynchronous Replication
[2]   faster-semisync-replication
修改原来有dump thread 发送event和接收slave ack 模式,独立出 单独 接收slave 返回 ack的进程,提高半同步模式的tps 。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读