主从复制
一个应用部署的时候会部署两个或多个数据库,分别是主库和从库。主库支持应用的读写操作,从库只支持应用的读操作,从库数据是从主从中同步过来的,从数据库(Slave)是主数据库的备份,当主数据库(Master)变化时从数据库要更新。
基本过程
- 主从更新数据时记录下log
- 从库开启读线程从主库读取log
- 从库执行相同的操作
优点
- 及时应对数据库灾害问题,当其中一个库出现问题时,可以及时切换到另外的数据库进行读取操作,如果是主库出问题了,还能把一个从库充当主库进行数据库写操作。提高了应用的可靠性。
- 读写分离,减轻主库的压力,分散了数据库的访问压力
- 数据备份,实时分析数据,因为有从库同步主库的数据,而二者读写分离的,所以我们可以在应用启动过程中,还能够进行数据分析,这样也不会影响到应用的性能。
存在问题
- 复制数据存在延迟问题
- 如果主库挂了,需要手动切换从库作为主库,可能会卡业务流程