.net core 3.1 webapi项目实现读写分离

读写分离策略一般是解决数据库大量并发读引起的性能问题,采用读写分略策略可以有效减少数据库读写锁冲突,从而增大读取数据的并发性能。特别是在读多写少的业务场景下,更是提高性能的必备杀手锏之一。
.net core 3.1 webapi项目实现读写分离_第1张图片

1、数据库主从集群

随着数据量的增大,为了减轻数据库的插入压力,数据库在部署策略上可能会晋级为主从集群:一个主库,多个从库,主库和从库采用数据库间的某些技术实现数据的同步。针对mysql数据库,由于从库从主库拷贝binlog日志以及串行执行 SQL 的特点,在高并发场景下,从库的数据会比主库慢一些,所以经常出现,刚写入主库的数据可能是读不到的,要过几十毫秒,甚至几百毫秒才能读取到。

因此,需要注意的是,数据库主从库是物理上不同的,这也是实现时,需要实现不同的连接池的关键原因所在。
.net core 3.1 webapi项目实现读写分离_第2张图片

2、添加配置

配置采用dbcontext的名称进行匹配,代码中会根据dbcontext类型进行反射获取配置,这里主库和从库采用同样的用户名、密码以及库进行连接,一般情形下应该能满足目的了,并且精简了部分配置。

你可能感兴趣的:(.net,core,深度剖析)