主从复制
主要涉及三个线程
- 1) binlog线程,在主库中将数据库的操作通过 二阶段写 写入binlog中
- 2) I/O线程,读取主库中的binlog复制到从库的 中继日志(Relay log) 里面
- 3) SQL线程:读取从库的 Relay log,解析出主服务器中已经执行的数据更改操作,然后在从服务器中重放
读写分离
主服务器主要负责写操作和即时性较高的读操作,从服务器主要负责读操作
读写分离提高性能的原因在于:
- 主从服务器负责各自的读和写,减少了锁的争抢,减轻了主服务器的读压力
- 从服务器可以使用MyISAM,提升查询性能以及节约系统开销;
- 提高系统可用性
读写分离通常使用代理实现,代理服务器接收应用层传来的读写请求,然后决定发送到哪台机器上运行SQL