Microsoft群集解决方案(下)

网络负载平衡

原先称作Windows NT负载平衡服务(WLBS)的NLB能够在多个运行NLB软件的节点上对进入系统的IP请求负载进行合理分配。NLB能够为诸如Web服务器之类基于IP协议的应用提供伸缩性与可用性。随着用户针对服务器资源的需求量不断增大,NLB允许您添加用以处理工作负载的服务器。举例来说,通过利用NLB实现其面向Outlook Web Access(OWA)的基于Microsoft IIS通信前端,Exchange 2000服务器的负载压力得以显著缓解。NLB群集会将客户端请求路由至一台或多台后端服务器上。如果某个NLB节点出现停机故障,其它节点将自动承担由其遗留下来的额外负载,而用户则不会感觉到任何服务中断现象。

NLB底层软件是一种位于NIC与TCP/IP之间的网络设备接口规范(NDIS)驱动程序。您应当在NLB群集中的每台服务器上安装这种驱动程序。所有NLB节点均共享同一个代表所需网络资源(如Web服务器)的虚拟IP地址。所有NLB服务器均监听用户请求,但其中只有一台服务器对这些用户请求进行响应。基于快速Hash算法的负载平衡架构负责合并客户端IP地址与端口号,并确定由哪台服务器进行响应。您可以指定某种相似性规则,以便能够在不同服务器上分配不同的负载量(例如,您可以指定某些服务器应当获取多于其它服务器工作负载)。通过一种心跳特性,所有NLB节点均可及时群集变化(例如新增节点或节点故障)情况。当群集发生变化时,NLB将启动一个汇聚过程,以便在群集中自动协调变化情况并以透明方式重新对进入系统的工作负载进行分配。

NLB的最初起源要追溯到1998年Microsoft收购总部位于俄勒冈州的Valence Research开始。Valence所开发的Convoy群集软件便是后来的WLBS(NT Server 4.0与NT Server 4.0企业版中的一种插接产品)。在Windows 2000中,尽管Microsoft进一步增强了WLBS的功能特性并对其进行了重新命名,但其核心技术仍旧没有发生变化。NLB是Windows 2000 Advanced Server与Datacenter网络服务中的一种集成化部件。

只要在各自独立的计算机上运行,Windows 2000中的MSCS与NLB便可良好的实现协同工作--具体示例请参见图2所显示的配置方案。由于MSCS与NLB之间存在潜在的硬件设备共享冲突,因此,Microsoft不建议同时也不支持在同一台计算机上运行MSCS与NLB。如需获取更多关于MSCS和NLB的安装信息,请查看题目为MSCS与NLB之间的Windows 2000交互能力的Microsoft文章。

 

图2 以单一虚拟IP服务器方式运行的n节点NLB群集

组件负载平衡

对于Windows 2000而言,CLB是一种全新事物。同样,对于Windows 2000来说,作为下一代COM技术的COM+也是一种全新事物。COM+将COM、Microsoft事务服务器(MTS)以及相关系统服务有机结合在一起,从而使Windows 2000成为一种设计、开发、部署与维护基于组件应用的出色平台。简而言之,COM+是一种包含一系列相关系统服务(包括允许您在多个系统之间对组件进行分布的服务)的COM技术。其中一种COM+服务能够实现针对COM+对象的负载平衡访问方式。CLB只不过是一种负载平衡群集功能--即通过多台服务器共享激活与执行COM+对象所产生的工作负载。

与NLB相似,针对CLB的需求同样来源于可用性与伸缩性需求。当您运行由COM+对象所组成的关键应用时,应用程序或服务器故障将导致严重后果。CLB能够确保应用程序在出现故障的情况下继续运行,并避免使用户感觉到服务性能有所下降。此外,某些COM+对象规模相当庞大且功能相当复杂,在单一服务器上运行这些COM+对象以及诸如IIS之类的其它关键应用会严重影响系统性能。为在这种情况下提供可伸缩能力,您可以将COM+对象从IIS服务器上移走,并将其合理分布在自身CLB群集中的多台服务器上。

假设您是一个拥有自己商务Web站点的计算机制造商,您的商务站点负责为用户提供产品与技术信息、产品技术支持以及网上订购服务。遍布全球各地的客户每天24小时不间断的使用您的产品,因此,您的Web站点必须随时可用并保持良好运行状态。为此,您可以采用图2所显示的方式在具备后端MSCS数据库群集访问能力Web服务器上运行NLB。然而,如果您所提供的服务使用了大量基于COM+对象编码方式的实现逻辑,那么,尽管这些对象可以在Web服务器上运行,但是,由于运行Web服务器的计算机同时还必须处理COM+对象,因此,Web服务器的响应时间将非常缓慢。此时,您便可能需要使用CLB。

图3描述了如何在具备高度可用性与伸缩能力的Web站点上部署CLB群集。CLB能够针对在应用程序中间层提供COM+对象的商务逻辑实现负载平衡。(CLB群集需要Application Center提供隐含支持,我们将在“Application Center”一节中详细解释相关信息,现在,您只需了解为何需要使用CLB即可。)

 

图3 通过CLB实现针对COM+对象负载平衡访问方式

CLB通过结合使用服务器响应时间与循环算法的方式来确定由哪台服务器处理下一个请求。CLB按照预先设置好的时间间隔定期在群集中对COM+服务器进行投票,以确定服务器响应速度(服务器响应时间直接反映出它们的繁忙程度)。CLB根据响应时间对服务器进行排序,具备最短响应时间的服务器排在队头,并负责对下一个COM+激活请求进行处理。此后,在下一个投票间隔到来之前,CLB将按照服务器在列表中的排列顺序为其分配工作。

由于上述所有处理工作均在网络上实时完成,您可以看出,如果在速度较慢或较为拥挤的网络上添加CLB,则可能导致网络竞争问题。因此,您应当在至少具备100 Mbps传输速率的高速干线网络上部署CLB群集。通常情况下,您不应在承载其它网络通信内容常规企业网络上部署CLB群集。

在CLB群集中分布COM+对象的方式并非适用于所有情况,您必须在应用需求分析基础上做出是否使用CLB的决定。群集功能增加了与贯穿整个网络的客户端请求相关的负载以及为满足客户端请求而选择服务器并激活COM+对象所产生的负载。在某些情况下,由于应用程序只使用少量轻量级COM+对象,在Web服务器本地实现对象实例化的简单方式可能会提供更高性能。需要考虑使用CLB的应用情境包括:

构成商务逻辑的COM+对象相对比较“繁杂”且必须在高速服务器上运行。

安全性是主要关注的问题之一,并且您希望通过将其置于额外防火墙后部的方式独立COM+对象。

出于开发或设计原因,您的COM+应用程序被分为多个层次,并且您需要在独立的层次上使用CLB。

CLB在所有Windows 2000 Server产品家族成员中均无法使用,同时,您也无法通过独立产品方式购买CLB。最初,Microsoft曾经有意将CLB包含在Windows 2000 Server产品家族中,但在1999年9月,Microsoft将其从Windows 2000 Release Candidate 2(RC2)中分离出来,并放入到一种称为Application Server的全新产品中,因此,获取CLB的唯一方式便是使用Application Server。

Application Center

Application Center是Microsoft .NET Enterprise Server产品家族成员的组成部分之一,其前身为Windows Distributed interNet Applications(Windows DNA)服务器。Application Center的主要目的在于实现针对Web区(例如提供相同Web内容且相互协作的多台物理Web服务器)的单一管理点,从而提供统一用户界面(UI)并利用NLB与CLB实现负载平衡。通过使用Application Center,您可以创建新的群集、加入现有群集、添加或删除群集成员、部署新增内容、配置负载平衡并监视群集性能。其最终结果是为Web区提供伸缩能力、易用性以及高度可靠性,并使其在外部用户眼中表现为一台单一Web服务器。随着越来越多的关键应用开始向Web靠拢,这些功能特性的重要性也在与日俱增。

如需了解完整的Application Center拓扑结构,以及与其协同工作的所有Microsoft群集技术,请再次查看图3。NLB群集可以是IIS服务器所组成的群集,CLB群集可用于提供商务逻辑。两者相互结合便构成了Application Center Web群集,而数据库群集则可通过MSCS实现。

假设您拥有一个电子商务站点且正在规划进行大规模产品滚动升级,在此期间,有许多客户希望通过该站点购买您的产品。这种情况将显著增加Web站点负载,然而您又无法确定这种增幅到底有多大。您可以随时根据需要添加新的服务器,但针对这些服务器的设置工作却非常复杂。就产品滚动升级而言,您可以像在RAID阵列中插入磁盘驱动器那样通过向Web区中添加服务器的方式轻松扩展Web站点性能。这种应用情境正是RAC理念所适用的情况。

Application Center提供了用以创建群集、向群集中添加新增服务器、部署新增内容并配置群集成员的向导程序。在创建新群集时,您需要定义一台群集控制器,这台群集控制器不仅属于群集成员,同时还负责维护所有配置信息。此后,您便可以指定群集中的其它成员。当您完成上述工作时,Application Center将针对每个新增群集成员部署COM+设置、CryptoAPI设置、注册表健值、Windows管理设施(WMI)设置、文件系统信息、IIS元数据库设置以及Web服务器内容。最终,您将获得一个克隆群集,并且,您可利用Application Center管理器轻松添加或删除群集成员。此外,Application Center还将通过透明方式完成单调乏味的NLB配置与部署工作。

Application Center还将支持除NLB以外的其它第三方IP负载平衡工具。在撰写本文时,Microsoft正在为Cisco System公司的LocalDirector、F5 Network公司的BIG-IP以及Alteon WebSystem公司的ACEdirector提供支持。然而,Application Center并未像集成NLB管理方式那样集成针对这些负载平衡工具的管理操作,因此,您需要通过执行额外工作的方式对这些第三方负载平衡工具进行维护。

您可以在以下版本的Windows 2000操作系统平台上安装包含创建Application Center群集所需全部必要组件的完整版本Application Center:

Win2K Server Service Pack 1(SP1)

Win2K AS SP1

Datacenter SP1

为支持Application Center,您必须具备Win2K SP1。否则,您将只能安装用以对Application Center和IIS进行远程管理的Application Center管理器。以下版本的Windows 2000及Windows NT操作系统支持Application Center管理器:

Win2K Professional

Win2K Server

Win2K AS

Datacenter

NT Workstation 4.0 SP6或更高版本(只适用于x86处理器)

NT Server 4.0 SP6或更高版本(只适用于x86处理器)

在阅读本文时,您便可以通过Microsoft新型.NET Enterprise Server产品的方式独立购买Application Center了。

群集技术与Microsoft .NET

您可能希望了解Microsoft群集解决方案如何适应公司的未来业务发展需要。

Windows服务已被授予Microsoft .NET这一全新名称。图4将Windows 2000和Windows DNA与Windows .NET和.NET平台进行了对比。Microsoft群集解决方案适用于两种Microsoft .NET领域:Windows .NET(MSCS)和.NET Enterprise Server(NLB、CLB、Application Center)。Windows .NT代表了Windows 2000操作系统的演变过程,其接下来的两个版本代号分别为Whistler和Blackcomb。.NET Enterprise Servers包含以下产品(其中大部分将包含在BackOffice中且具备集成化XML支持能力):

Exchange 2000

SQL Server 2000

BizTalk Server 2000

Application Center 2000

Host Integration Server 2000

Commerce Server 2000

Internet Security and Acceleration(ISA) Server 2000



图4 从Windows DNA到Microsoft .NET平台的演变过程

Windows.NET和.NET Enterprise Servers是Microsoft在向.NET平台前进过程中所需完善与增强两种基本组件。Microsoft非常重视Windows的伸缩性、可用性与可靠性。在Microsoft以.NET作为商务平台进一步向Internet领域进军的过程中,提供这些特性也随之显得更为重要。

显然,诸如MSCS、NLB、CLB以及Application Center之类强大群集技术的出现对于Microsoft在关键商务应用支持领域能否取得成功起着至关重要的作用。我希望看到这些群集技术--特别是Application Center以及Microsoft在年初专业开发者大会上所介绍的诸如活动服务器页面+(ASP+)负载平衡这样的新型.NET技术--得到进一步增强与扩展。请立即占用部分时间来理解这些强大群集解决方案的工作原理以及它们可能帮助您解决的问题。 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值