MySQL高可用架构:主从复制与分库分表
引言 单机MySQL的三大瓶颈: 1. 存储瓶颈:单机磁盘容量有限(TB级) 2. 并发瓶颈:单机QPS上限1-2万 3. 可用性瓶颈:单点故障,服务不可用 高可用架构的演进路径: 单机 → 主从复制 → 读写分离 → 分库分表 → 分布式数据库 ↓ ↓ ↓ ↓ ↓ 1台 1主N从 读扩展 存储扩展 NewSQL 一、主从复制:高可用的基石 1.1 主从复制原理 核心组件: 主库(Master) ↓ binlog(二进制日志) 从库(Slave) ↓ relay log(中继日志) ↓ 重放SQL 数据一致 复制流程: -- 主库操作 INSERT INTO users (name, age) VALUES ('Zhang San', 25); -- 主库写binlog -- binlog内容: -- Event_type: Query -- Query: INSERT INTO users (name, age) VALUES ('Zhang San', 25) -- 从库IO线程: -- 1. 连接主库,请求binlog -- 2. 主库binlog dump线程发送binlog -- 3. 从库IO线程写入relay log -- 从库SQL线程: -- 1. 读取relay log -- 2. 解析SQL语句 -- 3. 执行SQL:INSERT INTO users... -- 4. 完成数据同步 三个关键线程: ...