.NET Core中怎么利用SQL Server数据库实现读写分离

发布时间:2021-08-06 15:16:03 作者:Leah
来源:亿速云 阅读:714

这期内容当中小编将会给大家带来有关.NET Core中怎么利用SQL Server数据库实现读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

   首先明白什么是读写分离,读写分离基本原理就是将数据库的读写操作分配到不同的节点上,如下图:

.NET Core中怎么利用SQL Server数据库实现读写分离

.NET Core基于SQL Server数据库实现读写分离实战演练

   读写分离就是主从集群,一主多从或者一主一丛都是可以的,就是数据库主机复制写入操作,从机负责读的操作,主机写入以后再同步给从机;最大作用就是分库减少单台数据库的压力。最大的业务使用场景是数据报表查询统计功能。

三、Micrsoft SQL Server 2014主从复制环境搭建实战演练

1)、SQL Server提供了三种技术实现读写分离

.NET Core中怎么利用SQL Server数据库实现读写分离

.NET Core基于SQL Server数据库实现读写分离实战演练

SQL Server提供了三种技术,可以用于读写分离的实现:日志传送、事务复制和SQL Server 2012以上版本中新增的功能Always On技术。配置复制没有数据库镜像和AlwaysOn的要求那么高,只需要两台服务器能通过TCP进行通讯即可,两台服务器操作系统和SQL版本都可以不完全一致,而且两台服务器也不需要加入域,所以配置复制订阅就简单多了,

综上:考虑到简单性和实用性,这里阿笨推荐采用事务复制技术来实现SQL SERVER读写分离。

2)、同台服务器不同数据库之间实现主从复制(仅仅作为开发环境、测试演示)

在上一节分享课程中《基于SQL Server数据库搭建主从复制实现读写分离实战演练》我们已经学会了如何在如何在不同的DB服务器上基于SQL Sever数据库搭建主从同步实现读写分离。那么本次分享课程关于SQL SREVER主从同步环境的搭建由于我们为了演示就简单起见,为了达到演示的目的,只讲解在单台DB服务器上的不同数据库之间实现主从同步进行分享,废话不多说直接进入本次课程的主题。

.NET Core中怎么利用SQL Server数据库实现读写分离

.NET Core基于SQL Server数据库实现读写分离实战演练

3)、不同服务器不同数据库之间实现主从复制(实际生成环境推荐的做法)

由于篇幅较长,《基于SQL Server数据库搭建主从复制实现读写分离实战演练》中已经进行课程进行分享

.NET Core中怎么利用SQL Server数据库实现读写分离

.NET Core基于SQL Server数据库实现读写分离实战演练

四、.NET Core中如何采用数据库中间件实现读写分离

4.1、在我们的应用程序开发中使用数据库主从同步?

一个是主连接字符串,另外是一个或者多个从的字符配置,我们要实现读写分离就是去实现读取的时候用从库的连接字符串,写入的时候用主库的连接字符串,说到这里我想大家应该很明确自己的思路明确一点,那就是我们读的时候用从库,写的时候用主库。

1)、根据切换数据库连接字符串R/W来实现手动的读写分离。缺点:不灵活,扩展低,不具备高可用,稳定性差,侵入式太强,只适合小项目临时应急使用。

2)、第三方数据库中间件比如阿里巴巴的MyCat、 360开发的atlas  等等。缺点:重量级,入门门槛难度大,学习成本高。

3)、.NET Core开源数据库访问组件。优点:灵活,真真实现读写分离。

.NET Core支持数据库读写分离的组件比较多,比如:FreeSql ,SmartSql,SqlSugar(在《.NET Core基于SQL Server数据库实现读写分离实战演练》中已经分享)等等。

1、为什么选择SqlSugar?

SqlSugar:高性能、高生产力,超轻量级的DotNet Core ORM。

亮点:多读库 权重筛选 √ (配置多读库,根据读库权重选举读库)

Install-Package sqlSugar Install-Package sqlSugarCore

Install-Package sqlSugar 
Install-Package sqlSugarCore

.NET Core中怎么利用SQL Server数据库实现读写分离

上述就是小编为大家分享的.NET Core中怎么利用SQL Server数据库实现读写分离了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. [ASP.NET Core 3框架揭秘] 配置[9]:自定义配置源
  2. .NET Core如何实现分表分库、读写分离的通用Repository功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql server

上一篇:SpringBoot2.0中@Configuration注解有什么用

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》