前言
1.MySQL主从复制架构图
2.什么是数据半同步
3.主从复制架构中的数据延迟问题,应该如何解决?
4.数据库高可用:基于主从复制实现故障转移【数据库高可用架构管理的工具MHA】
1.MySQL主从复制架构图
2.什么是数据半同步
2.1:为什么提出数据半同步概念?
主库将日志写入binlog文件,接着自己就提交事务返回了,也不会管从库是否接收到日志,万一此时主库的binlog还没有同步到从库,结果主库宕机了,此时数据就丢失了,即使做了高可用切换,即可把从库切换为master主库,但是里面并没有刚刚写入的数据。
半同步的意思就是说:主库写入数据,日志进入binlog之后,至少确保binlog日志复制到从库了,再告知客户端本次事务写入成功,这样起码主库突然崩了,之前写入成功的数据的binlog日志都是抵达了从库,从库切换为主库,数据也是不会发生丢失的,这就是半同步
2.2:解决方案:一般搭建主从复制,都是采取半同步的复制方式
2.2.1:AFTER_COMMIT方案【非默认】