首页 > 数据库 > 文库 > 正文

Semi_Sync Replication方案的复制

2024-09-07 22:12:38
字体:
来源:转载
供稿:网友
      基于传统的复制,可能存在从库复制延迟的问题,那么master宕机后,如果此时master不能恢复,只能用slave代替master,slave处于落后的状态,就会导致数据丢失。可以通过半同步复制解决部分问题。
      参数rpl_semi_sync_master_wait_point在MySQL的半同步复制中,控制master在哪个阶段等待来自slave的ACK确认。在MySQL5.7中,该参数主要有两个值:after_commit和after_sync。
      1)rpl_semi_sync_master_wait_point=after_commit:master将自己的binlog写入到bin-log文件并且sync,且向存储引擎提交事务,然后一直等待ACK。当至少一个slave接收到binlog后,写入relay-log并返回ACK确认信息。master在接收到从库ACK确认信息后,将结果返回给客户端。
      2)rpl_semi_sync_master_wait_point=after_sync(MySQL5.7新增):master将自己的binlog写入到binlog文件并且sync,之后会进入等待ACK,当至少一个slave接收到binlog之后,写入relay-log并返回ACK确认信息。master接收到从库ACK确认信息之后,向存储引擎提交事务,最终返回给客户端。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表