高性能服务器通常是通过SMP. MPP等并行扩展技术实现的,然而通过并行扩展技术实现的高性能服务器在现代企业或一些关键行业应用中,逐步显笼出种种弊端。技术实现难度大,配置和管理都较复杂.而且像SMP这种常见的扩展技术还受到诸多限制性能提高非常有限,很难应对大规模的网站制作应用。一台服务器难免会遇到像死机、系统升级等必须宜新启动才能解决的问脱,可服务器一旦重启或死机,就会造成服务的中断,影响用户的使用.再好再完善的服务器也难保证365x24无间断行。解决的办法就是采用集群技术,多台服务器之间相互协作,实现冗余和负载均衡,以保证整个服务的可用性。
从Windows 2000 Advanced Server起,徽软将群集技术纳入了操作系统。在Windows Server2003中.微软提供了3种类峨的群集技术:服务群群集、组件负载平衡和网络负载平街。网络负载平衡群集和服务器群集在说法E比较相近,很容易造成混淆。下面对两者的功能和作用简单描述如下。
1、网络负载平衡.对于要求同时响应大I用户访问请求的服务耳(如,1eb. FTP反务名等).仅使用单台服务器很难满足用户对性能的要求。使用网络负载平衡.可将多个运行相同应用程序或蔽务的服务器群集到一起.并共牟一个应拟B'地址.客户机通过应拟的IP地址访问群集中的服务器,网络负载平衡负青将用户的访问清求均衡的分鱿给群集中不同的服务器.当某台蔽务器发生故阵时.网络负载平衡会在其他服务器之间重断分配工作贵,从而为应用租序提供高性能和高可用性.Windows Server 2003的NLB (Network Load Balancing.网络负载平衡)功能最多可将32个服务器群集到一起.
2、服务器拜集.服务器群集允许客户端在出现故阵和计划中的甘停时.依然能够访问应用程序和资源.如莱群集中的某一台放务器由于故障或雄护禽要而无法使用,资派和应用租序将转移到可用的群集节点上.对于“Windows群集.解决方案,使用“高可用性.这个术语要比使用.容错·更为合适.服务器群集无法保证无间断运作,但足确实能够为多数关健任务应用程序提供足够的可用性.群集服务可以对应用程序和资滋进行监拉,并能够自动识别和恢复众多故障状况,这为在群集中于理工作负祷提供丁灵活性。另外.还提高了整个系统的可用性.
通过上面的对比.可以看出网络负载平衡强调的是冗余和负载均衡,适合于只提供浏览或下级的场合:服务器群集强调是高可用性,更适合于需要用户提交数据的场合。本实验中仅介绍网络负载平衡。
网络负载平衡使用由两个或多个主机相互协作而构成的群集提供Web服务器或其他应用程序服务器的高可用性和可伸缩性,客户端使用单一的IP地址访问群集。客户机不能区分单个服务器和群集.服务器程序也无法识别它们是否运行在群集中。然而,网络负载平衡的群集明显区别于运行单个服务器程序的单个主机.这是因为即使某个群集主机出现故降,网络负载平街的群集也能提供不间断的服务。群集还能对客户请求做出比单个主机更快的反应。如果某个主机发生故障或脱机,网络负载平衡通过把接收的网络通信孟定向到正在工作的群集主机来提供高可用性。当与某个脱机主机的现有连接丢失,在多数情况下《例如,使用Web服务器时),客户软件会fl动重试失败的连接,并在接收响应时仅有几秒的延迟。
网络负载平衡通过将进入的网络通信分布在一个或多个指定到网络负载平衡群集的虚拟IP地址来实现性能的可伸缩性。群集中的主机可同时响应不同的客户请求,即使是同一主机的多个请求也是如此。例如.Web浏览器可以在一个Web页中显示来自网络负载平衡群集中不同主机的多个图像,这样可以加快处理客户请求的速度并缩短对客户的响应时间。在单个子网内.所有使用网络负载平衡群集的主机同时在群集的主IP地址(以及在多宿主主机的其他IP地址)上检侧接收的网络通信。在每个群集主机上.网络负毅平衡驱动程序就像是群集适配器驱动程序和TCP/IP之间的筛选器,允许由主机接收部分传入的网络通信。
网络负载平衡使用完整的分布式算法进行统计并通过外来客户端的IP地址、端口和其他信息将其映射到群集主机.检查到达的数据包时,所有的主机同时执行该映射,以迅速确定负责处理该数据包的主机。除非群集主机的数目改变.否则该映射保持不变。为了协调这些操作.网络负载平衡主机在群集内周期性地交换多播或广播消息。这允许它们监视群集的状态。当群集状态改变时(如主机失败,离开或加入群集),网络负载平衡调用一个叫做收散的过程,在此过程中主机交换消息来确定群集新的一致状态,并选出拥有最高主机优先级的主机作为欺认主机。当所有群集主机对群集的新状态达成一致后.它们将在Windows Server 2003事件日志中记录收敛的完成情况。
在收敛过程中.正常主机继续处理接收的网络通信,但故障主机不能接收客户请求,正在工作的主机客户请求不受影响。在收敛完成时.故障主机的通信被重新分发到其余的主机。如果某个主机添加到群集中.收教允许该主机接管端口的处理,并接收它承担的负载平衡通信。群集的扩展不影响正在进行的群集操作,并对客户端和服务器端程序透明.然而,由于容户端可能会被重新映射到不同的群集主机上,它可能会影响跨越多个TCP连接的客户端会话。
网络负载平衡假设群集中的主机只要能够与群集中的其他主机间进行正常的报文交换.该主机便是正常的。如果其他主机在报文交换的某些时段内不能从某个成员接收到响应,它们将初始化收敛来重新分配由故障主机处理的负载.用户可以控制启动收敛操作所需的报文交换周期和丢失报文的数目.默认值分别为1000毫秒(Is)和5个丢失报文。由于这些参数不经常修改,所以它们在“网络负载平街属性.对话框中是不可配w的。若有必要可在注册表中手工调整。
返回新闻列表