MySQL主从复制(读写分离)
MySQL 主从复制是一种常见的数据库架构,它可以提高数据库的性能和可用性。动态数据源切换则可以根据业务需求,在不同场景下使用不同的数据源,比如在读多写少的场景下,可以通过切换到从库来分担主库的压力。通常情况,一主多子;主库写,从库读;事务也走主,因为事务多为写
主从复制方式概述
- 主库(Master)执行写操作,并记录至BinaryLog日志文件
- 从库(Slave)的IO进程,从主库的BinaryLog日志文件拉取执行日志到relay-log日志文件;
- 从库根据relay-log日志文件,执行需要同步的sql操作(上次执行之后的sql操作)。
实现方式:SpringBoot+MyBatis+MySQL主从复制
一般需要设置数据库上下文(通过ThreadLocal),设置数据库标识,来决定在执行的数据库。常见实现方式可以参考如下两篇文章。
参考文章: