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站长网) |
相关内容
网友评论
推荐文章
热点阅读