1分钟,啥是数据库读写分离架构?
-
主库,提供数据库写服务 -
从库,提供数据库读服务 -
主从之间,通过某种机制同步数据,例如mysql的binlog
-
线性提升数据库读性能 -
通过消除读写锁冲突提升数据库写性能
-
每个数据库之间没有数据重合,没有类似binlog同步的关联 -
所有数据并集,组成全部数据 -
会用算法,来完成数据分割,例如“取模”
-
线性降低单库数据容量 -
线性提升数据库写性能
-
数据库连接池需要区分:读连接池,写连接池 -
如果要保证读高可用,读连接池要实现故障自动转移 -
有潜在的主库从库一致性问题
-
如果面临的是“读性能瓶颈”问题,增加缓存可能来得更直接,更容易一点 -
关于成本,从库的成本比缓存高不少 -
对于云上的架构,以阿里云为例,主库提供高可用服务,从库不提供高可用服务
-
读写分离,解决“数据库读性能瓶颈”问题 -
水平切分,解决“数据库数据量大”问题 -
对于互联网大数据量,高并发量,高可用要求高,一致性要求高,前端面向用户的业务场景,微服务缓存架构,可能比数据库读写分离架构更合适
扫码关注“架构师之路”视频号