9.28 读写分离/主从复制
9.28.1 读写分离
其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步, 是一种常见的数据库架构。

9.28.1.1 解决了什么问题
大多数互联网业务,往往读多写少,这时候,数据库的读会首先成为数据库的瓶颈,这时,如果我们希望能够线性的提升数据库的读性能,消除读写锁冲突从而提升数据库的写性能,那么就可以使用“分组架构”(读写分离架构)。
用一句话概括,读写分离是用来解决数据库的读性能瓶颈的。
9.28.1.2 注意事项
- 数据库连接池要进行区分,哪些是读连接池,哪个是写连接池,研发的难度会增加;
- 为了保证高可用,读连接池要能够实现故障自动转移;
- 主从的一致性问题需要考虑。
9.28.2 如何实现
Furion
在数据库模块设计之初,就考虑了读写分离这种情况,所以从底层就支持动态切换数据库上下文及读写操作方法约束。
读写分离操作主要使用 IMSRepository
仓储,该仓储已经为开发者提供方便的操作调用。当然也可以不使用该仓储。
下面就给大家演示如何读写多库读写操作。