温馨提示×

温馨提示×

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

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

SQL Server数据库中怎么通过搭建主从复制实现读写分离

发布时间:2021-08-07 11:02:22 来源:亿速云 阅读:415 作者:Leah 栏目:编程语言

本篇文章为大家展示了SQL Server数据库中怎么通过搭建主从复制实现读写分离,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

SQL Server提供了三种技术,可以用于读写分离的实现:日志传送、事务复制和SQL Server 2012以上版本中新增的功能Always On技术。这三种技术的比较如下:

SQL Server数据库中怎么通过搭建主从复制实现读写分离

.NET高级进阶之基于SQL Server搭建主从复制实现读写分离实战演练

配置复制就没有数据库镜像和AlwaysOn的要求那么高,只需要两台服务器能通过TCP进行通讯即可,两台服务器操作系统和SQL版本都可以不完全一致,而且两台服务器也不需要加入域,所以配置复制订阅就简单多了,但是复制订阅主要是针对数据表而不能像镜像和AlwaysOn那样配置整个数据库,这也是它的缺点吧。

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

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

1)、同台服务器不同数据库实现主从复制

在《.NET Core基于SQL Server数据库实现读写分离实战演练》分享课程中已经演示过。

2)、不同服务器不同数据库实现主从复制(由于篇幅较长,单独课程进行分享)

SQL Server数据库中怎么通过搭建主从复制实现读写分离

.NET高级进阶之基于SQL Server搭建主从复制实现读写分离实战演练

   读写分离就是主从集群,一主多从或者一主一丛都是可以的,就是数据库主机复制写入操作,从机负责读的操作,主机写入以后再同步给从机;

四、思考与总结

4.1、总结:怎么开发中我们的程序使用数据库主从?

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

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

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

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

4.2、思考:如何保证数据库主从复制的高可用呢?

SQL Server数据库中怎么通过搭建主从复制实现读写分离

基于SQL Server搭建主从复制实现读写分离实战演练

虚拟IP(VIP)。缺点:需要运维人员支持(基于VIP的keepalived高可用集群架构)!

1)、怎么实现故障检测的那?

心跳,采用定时发送一个数据包,如果机器多长时间没响应,就认为是发生故障,自动切换到热备的机器上去。

2)、怎么实现自动切换那?

虚IP。何为虚IP那,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的 任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。


上述内容就是SQL Server数据库中怎么通过搭建主从复制实现读写分离,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

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

AI