MySQL是大型架构的核心,下面我重点详解MySQL主从模式@mikechen
MySQL主从
MySQL 主从复制,是实现高可用、高性能与读写分离的关键机制。
通过在主库记录操作日志(Binlog),从库再根据日志进行重放,实现数据同步。
MySQL主从模式不仅用于读写分离,也用于容灾和高可用设计。
MySQL异步复制
默认情况下,MySQL采用异步复制模式。
工作机制:主库提交事务后立即返回成功,从库异步拉取 Binlog 并重放。
优点:性能最高,主库无等待。
缺点:主从延迟明显,主宕机会导致数据丢失。
适用场景:读多写少、延迟可接受的业务。
MySQL半同步复制
半同步复制,使主库在提交事务时,至少等待一个从库确认已接收到binlog。
机制原理:主库在提交事务后需等待至少一个从库确认接收 Binlog 后再返回成功。
优点:减少数据丢失风险。
缺点:比异步模式略慢。
适用场景:中等延迟要求的互联网系统。
MySQL全同步复制
全同步(写时同步),要求主库等待所有从库确认事务,确保数据完全一致。
通常用于严格强一致性需求,但性能开销较大。
机制原理:主库必须等待所有从库确认执行成功后,才返回事务提交成功。
优点:数据强一致性。
缺点:性能代价高,不适合高并发场景。
适用场景:金融级强一致性业务(如交易系统)。