随着业务量的提高,以及访问量和数据流量的快速增长,网络各个核心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资源的浪费,而且下一次业务量的提升,又将导致再一次硬件升级的高额成本投入。于是,负载均衡机制应运而生。

对于数据库负载均衡,大家最为耳熟能详的就是Oracle RAC了。下面,我们先简单了解Oracle RAC的实现方法。
    RAC是双机并行服务器(8i及以前版本称作Oracle Parallel Server,OPS),用来在集群环境下实现多机共享数据库,以保证应用的高可用性,同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的排错和无断点恢复。它可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。若并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。这使周期性和非周期性发生故障的系统增大了连续可用性。进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。

截至到SQL Server 2008,微软还是没有推出负载均衡组件,只能通过SQL Server的其他技术特性或者利用第三方组件来DIY,下面列出我在做项目时最常用到的几个方案

端到端拓扑的事务性复制
    SQL Server 2005对端到端(P2P)拓扑结构上事务性的复制加强了支持。P2P的拓扑结构支持无限的发布服务器,它们彼此之间可以互相交换事务。
    P2P拓扑是SQL Server的一个巨大进步。现在,多端点服务器可以更改数据,并且向其他的发布者复制事务。这就是说,订阅服务器不再被限制在主要的报告环境中,可以通过事务性负载全球共享的方式将服务器分布开来。当用户的数量增加的时候,只要简单地向这个群体中添加服务器即可。
    除了将负载分布之外,这个拓扑结构还增加了可用性。如果任何一个点的服务器不可达,则池中其他服务器就会共享这个负载,因为每个服务器都有其他所有服务器上可获得的全部数据集合。
    注意:因为数据的同步是异步的,也就是说各个节点上的数据可能会是存在差异的,所以千万不要把它当成真正的负载均衡。 它被设计出来是用来各个数据库中心交换数据的,不是用来真正的做负载均衡的。

镜像+快照
      镜像和快照是SQL Server 2005的另外两个新特性,镜像的主要用途是高可用性,正常情况下镜像数据库是不可用的,就这么闲着显然是太浪费了,可以对镜像数据库做个快照,然后把一些对于数据实时性要求不高的查询转移过来,这样似乎也能分担主库的一些压力。
      把这个方案也叫负载均衡方案实在是勉为其难(我也是随大溜按照别人的思路归纳的),因为快照不能建立的太频繁,所以它的数据延时要比复制还要长,以小时记,因此转移过来的查询只能是一些报表之类的查询。

Moebius for SQL Server
    这个方案是一个第三方软件,是从微软出来的几个人做的,说他们是微软出来的并不是说他们的技术多厉害,而是他们利用SQL Server的一些内部接口把集群做的非常透明, 无论是应用程序的调用还是开发/管理人员的使用都和面对一个数据库一样。
    他们的实现原理是这样的:和镜像一样,每个数据库节点都有自己的数据,也就是无共享磁盘架构。他们称之为“中间件”的程序宿主在数据库的内部,每个节点数据库上写入数据导致数据变化时,SQL Server会激活“中间件”,“中间件”把变化的数据同步到其他的节点上。其他节点发生变化也是一样。因为“中间件”宿主在数据库内, 所以它能够把每个同步的Session和SQL Server的Session绑定到一起,也就是使用户的执行和数据的同步成为一个原子操作,从而保证数据在每时每刻都是一致的。
因此查询可以随便到每个机器上去查,从而做到了真正的负载均衡。
    另外还包括什么高可用性和虚拟IP什么的,和Oracle RAC的比较像,我也没有仔细研究。我觉得这属于附属功能了,关键点还是保证多个数据库如何能一致。

抛砖引玉,我只是简单说了一下每个方案的实现原理,理论指导实践,有了方法接下来就是重复的枯燥的实践了。 祝大家实践快乐,并最终招到自己心目中完美的解决方案。本文出自 51CTO.COM技术博客

=晚了,没找到相关的部署文档,但是找到一份国内一家代理商的宣传文档,给大家看看,绝对不是托哦===

看看明天能否找个下载链接,自己做做测试,然后告知大家部署的文档===

http://u.115.com/file/f6b102b9ed
Moebius_for_SQL_Server负载均衡集群.pdf

SQL Server 负载均衡方案集锦相关推荐

  1. SQL Server 负载均衡集群(转)

    SQL Server 负载均衡集群 一个应用系统随着业务量的提高,以及访问量和数据流量的快速增长,各个核 心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担.在此情况下,如果扔掉现有设备去 ...

  2. 数据库分类和负载均衡方案

    最近我在研究数据库方面的知识,包括数据库发展历史.分类.使用场景.大数据时代的数据库等等.网上收集了很多资料,整理出来,供感兴趣的同学参考. 一.数据库发展史和数据库分类 为啥我会把发展史和分类放在一 ...

  3. Discuz!NT负载均衡方案

    在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡.但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍).下面先 ...

  4. SQL Server数据库优化方案

    SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...

  5. asp.net负载均衡方案[转]

    在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡.但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍).下面先 ...

  6. SQL Server 高可用方案

    SQL Server 高可用方案 方案一:Asynchronous Mirror + Alias 方案介绍 数据库服务器配置异步镜像关系,程序客户端连接串配置别名连接. 1. 在SQL Server客 ...

  7. JOB SERVER 负载均衡

    JOB SERVER 负载均衡 一.体系结构 1.job server group job server group 是由一个或者多个job server 组成的,做为一个整体对外提供服务,在内部实现 ...

  8. 干货:一种基于SDN的服务器负载均衡方案

    网络已经成为许多商业的支撑脊柱,世界网络中每天都有新的设备加入,致使网络规模巨大化.众多的网络设备不仅意味着需要投入更多的资源,且使网络结构越加复杂化,管理难度增大且易错.为了避免网络管理错误的发生, ...

  9. 负载均衡方案的三种实现策略

    早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求.随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统功能也越来越复杂,那么单台服务器就 ...

最新文章

  1. 注解 java 反射_java注解和反射
  2. jquery的事件对象
  3. UI设计师的实际工作流程是什么样的?
  4. python爬取网易云音乐问题陈述_python 网易云音乐 评论爬取问题
  5. Flask笔记-构建mvc分层结构及优化
  6. 洛谷 U5737 纸条
  7. LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义
  8. Android反编译:使用dex2jar查看dex文件
  9. NGUI无限滚动列表实现滑动条
  10. 从看《长津湖》想到的数字化转型
  11. HTML5之横向二三级,纵向三级导航栏
  12. 判断样本均值:单样本T检验,双T检验(T-T检验),配对样本T检验(P-T检验)
  13. 如何修改电驴服务器地址,emule设置连接服务器地址
  14. 微信公告号 图灵机器人实现智能回复
  15. 怎么在线压缩PDF文件?常见途径说明
  16. 免费可商用的图片资源推荐
  17. 计算机没网络本地连接接下来,电脑本地连接没有了网络连接的本地连接不见的解决方法...
  18. 利用三级结构进行蛋白质嵌入的自我监督预训练
  19. oracle rownum order by 爬坑
  20. 详解CSS3中新增的内容属性:content

热门文章

  1. matlab作业参考4,matlab第四章作业
  2. 神策合肥研发中心携手安徽开发者社区,深入交流共促行业发展
  3. spring mvc-使用Servlet原生API作为参数
  4. GIt本地相关操作(一)
  5. SQL Server 优化---为什么索引视图(物化视图)需要with(noexpand)强制查询提示
  6. 最长下降/上升子序列问题
  7. Dockerfiles基础语法
  8. Maven pom.xml配置详解(三)
  9. word操作快捷键记录
  10. UVa 11388 - GCD LCM