数据库读写分离是很多公司绕不过去的一个发展阶段,从单体数据库,到主备模式,再到读写分离,分库分表。每一个阶段都能为我们解决一些问题,但也带来了新的挑战。本篇文章我们就主要研究一下数据库读写分离及其带来的问题如何解决。
1 数据库架构的发展历程
首先简单介绍一下数据库架构的发展历程,基本就是单体、主备、读写分离、分库分表,下面我们分别进行介绍。
1.1 单体架构
业务发展初期,数据库的压力相对较小,这时候使用单独一个库就可以。
引出的问题:如果数据库出现故障,我们的业务就不能使用,只能说是停机重启修复故障。
1.2 主备架构
由于单体带出的问题,这时候我们就需要加一个备用库,紧急情况可以用备库顶上,相当于加一个替补队员。
通过MySQL自带的主从同步机制,就可以放我们的替补队员上线。
当正式队员(主库)发生故障,我们就可以人工让其下线,让替补队员(备库)顶上。
引出的问题: