MySQL是大型架构的核心,下面我重点详解MySQL主从架构@mikechen
MySQL异步复制架构
异步复制,是 MySQL 默认且最常用的复制模式,它追求最高的写入性能。
主库负责写操作,从库负责读,异步复制保证主库性能,主库写入后立即返回,不等待从库确认。
常见架构:一主多从。
优势是主库压力小,读扩展能力强,适合大多数读多写少场景。
劣势为主从数据可能存在明显延迟,不适合数据实时性要求高的业务。
典型实战案例中,Web系统利用异步复制实现了读流量的分摊,减轻了主库压力。
MySQL半同步复制架构
半同步复制,是异步复制的优化,旨在提高数据可靠性,在性能和安全性之间取得了平衡。
主库在提交事务后,必须等待至少一个从库,确认已接收到 binlog 。
并写入其本地的 中继日志(Relay Log) 后,才会向客户端返回事务成功。
常见架构:主主复制、主备架构。
优势:提升数据安全性,防止数据丢失。
劣势:延迟略高于异步。
实战案例:主主 + MHA 自动切换方案。
MySQL全同步复制架构
此模式,要求所有节点完成事务同步,确保全库强一致性。
常见架构:多主多从或分布式集群(如 Galera Cluster)。
优势:保证所有节点数据一致。
劣势:性能开销大,适合强一致性业务。
适用于:对数据一致性要求极高、不允许任何数据丢失或读取不一致的业务。
比如:金融交易、支付或库存核心系统。