中间件速查手册
关系型数据库Replication

主从复制 是什么?

主库写 binlog,从库重放,实现备份、读写分离和高可用

类比:账本誊抄,正本写完抄一份副本

三步流程

复制是异步的,理解这三步就能理解延迟从哪来。

  • 主库把变更写入 binlog(row 格式最常用)
  • 从库 IO 线程拉取 binlog 写入 relay log
  • 从库 SQL 线程重放 relay log,应用变更

延迟的成因与应对

大事务、无主键表的批量更新、从库硬件差、单线程重放(老版本)都会造成延迟。

  • 开启并行复制(MTS,按组提交并行)
  • 拆分大事务,批量更新分批执行
  • 强一致读走主库,或使用半同步复制
  • 监控 Seconds_Behind_Master,别等业务报错才发现

高可用切换

主库挂掉需要选一个延迟最小的从库提升为主。常见方案:MHA、Orchestrator、云厂商托管版。切换后要处理旧主的数据补偿和客户端重连。

它出现在这些中间件里

相关概念