因特网的规模每一百天翻一番。客户希望得到7天、24小时不间断的可用性和更快的系统响应时间,而不是服务器太忙和频繁的系统故障。

随着交通量的增加和快速增长的业务和数据业务,加工性能和网络的各个核心部分的计算强度也在增加,这使得单一的设备根本无法接受。在这种情况下,如果我们抛弃现有的设备做大量的硬件升级,这将导致现有的资源浪费,和未来的业务量会导致另一个硬件升级成本高。因此,负载平衡机制应运而生。

对于负载平衡,作者经常接触Oracle负载平衡机制。

真正应用集群是一个双并行服务器(8i和并行服务器的版本称为甲骨文,OPS),用于实现多机集群环境中的共享数据库,以保证应用的高可用性,并能自动实现的并行处理和负载共享,还可以实现在调试断点恢复故障数据库。它可以自动执行负载平衡,故障排除和计划停机时间来支持高可用性的应用程序。如果在并行服务器节点失败,透明的应用程序容错可以自动转移到另一个节点和用户继续运行。该应用程序将在没有用户意识的情况下继续执行,这使得系统周期性和非周期性故障增加了连续可用性,进程的失败可以完全透明地转移到另一个节点。通过适当配置,所有查询都可以指定为在客户端缓存,这样它们就可以在传输节点上重新设置。

接下来,我们将重点讨论SQL Server 2005如何实现负载平衡。

SQL Server 2005的新特性

端到端拓扑的事务复制

SQL Server 2005增强了对端到端(P2P)拓扑的事务复制的支持。P2P的拓扑支持无限的发布服务器,它们可以相互交换事务。

P2P拓扑是SQL Server的一个很大的进步。现在,多端的服务器可以改变数据并复制到其他出版商的交易。也就是说,用户不再局限于主要报告的环境,并可以通过交易型负载共享全局分配方法。随着用户数量的增加,只需添加一个服务器本集团。

除了负载分配之外,这种拓扑也增加了可用性。如果任何一个点的服务器不能到达,池中的其他服务器将共享负载,因为每个服务器都有所有其他服务器上可用的所有数据集。

数据库镜像和快照

SQL Server 2005引入了数据库镜像的概念,以帮助实现高可用性。特别提醒的是,只要正式发布,SQL Server 2005中就可以使用数据库镜像。但是,只有SQL Server 2005服务包1将支持镜像。

数据库快照的另一个特点是介绍了在SQL Server 2005中,在一个时间点的快照复制数据库。只要镜像数据库快照,用户可以查询快照。快照生产通常只需要几秒钟,因为它实际上并不复制过程中的任何数据。因此,如果我们的负载分配到主服务器和备用服务器,我们可以镜像数据库,然后快照备份服务器的阶段,你也可以使用快照的主服务器上的报告。

SQL Server 2005负载均衡的软件实现

中间层

实现数据库的负载均衡技术,首先,有一个可以控制连接数据库的控制端。在这里,它拦截数据库和程序之间的直接连接,所有程序访问的中间层,然后访问数据库的中间层。在这种方式中,我们可以具体控制对数据库的访问,然后我们可以调整它的数据库连接到每一次基于数据库的当前负载。好处是在两个方面:第一,它成功地将数据库置于Intranet更好地保护数据库的安全。如果数据库是对公共网络,1433港口是很容易受到攻击,所以中间层用于连接保护将数据库和数据库结合起来,在内部网络中更好地保护数据库。其次,可以控制所有与数据库的连接,方便DBA管理数据,查看哪些连接占用更多的数据库资源,从而更好地优化代码。

然而,有两点需要注意:第一,要使Windows服务程序,与今天的Windows,的发展,如果一个综合的大系统而言,服务程序更加稳定和安全,所以用户不能即使不登录使用机器其次,有必要使用多个中间层,你可以看到从中间层的作用,它以数据库的所有连接,所以一旦出现问题,就会导致整个系统瘫痪。因此有必要使多个中间层,这样如果一个坏了,你可以登录到其他。

实现多数据库同步

中间层,而下一步是建立建立数据库集群,负载均衡,最重要的是,所有服务器的数据是同步的。这是一个集群的必要,因为如果数据不同步,用户从服务器读取不同的数据从另一个服务器读取数据,这是不允许的。所以一个数据库的数据同步,必须执行。一个数据库写在这里设置,和阅读两个数据库建立,因为统计一般说,数据库操作是读操作70%。

首先,在写数据库上发布服务器,主要是基于SQL Server 2005的复制技术,选择要使用的所有表。注意,在连接上选择一个模拟用户,然后选择SA用户进行共享,以便共享数据。

其次,做订阅服务在两读服务器上,要注意同一事项,这样写数据库集群两读就完成了。

数据库安全备份

在一个大系统中,系统的无故障特性非常重要,但在目前的系统下,如果所用的服务器突然中断,整个系统就会出现问题,因此有必要再次进行备份。

SQL Server 2005数据库镜像的蓬勃开展,是实现数据库安全转移,因此我们需要分开的机器做备份服务器,该服务器将完全写成这样,镜子,即使写服务器是坏的,它也可以自动转移到备份服务器,不影响用户。

这实际上相当于灾难恢复的服务器管理的实现,但是在这个镜像系统中有一点需要注意,必须有一台服务器作为监控服务器,看看哪个服务器坏了,之后很快调整机器中的错误。

回传的数据库状态

完成了数据库服务器,构建了整个机群体系结构,下一步工作是配置程序。

首先,在读写服务器放在监视器,它必须是一个Windows服务,这是更稳定;其次,它可以被设置为每30秒或一段时间,服务器的CPU、内存、网络流量、数据库和其他信息的当前状态发送回来在这里,你需要设置一个体重测量信息,如CPU,内存利用率的比例,等等。在这个系统中,CPU利用率的建议。

中间层负载均衡

到目前为止,所有的准备工作已经完成,包括数据库的建立和配置,中间层的位置,我们接下来要做的是使用软件来实现负载平衡。

首先,当用户有数据库请求时,它首先决定是否读或写。如果它被写入,它将直接返回到写服务器,以便当服务器写入数据时,它可以在3秒内返回到其他两台机器。

其次,当一个读请求时,它是根据返回的数据监控和返回一个基于正确的价值判断当前最空闲的机器。应该指出的是,在这个时候,最好是做一个记录的值保持一段时间,使管理员可以建立自己的数据库,更好地平衡了几个数据库的压力。

最后,如果主写服务器突然坏了,程序可以自动切换备份服务器,使用备份服务器作为写服务器,使报警系统通知管理员。同样,当监控服务器发现其他两读取服务器出故障,它会自动通知管理员处理服务器的异常情况,使系统运行稳定,易于管理和维护。

总之,利用软件和微软SQL Server 2005新技术,可以方便地实现负载均衡,这样不仅可以实现无硬件,而且便于管理员操作,这更有利于DBA管理数据库和及时发现问题。