ina-pub.com 第7章建立多服务器网站815 下载 接收到的发送到集群的TCP/P包,负载平衡器执行如下动作 网络服务器 硬件负载平衡器 Internet 且且 热备用 E且 集群 图27-5硬件负载平衡网络配置示意图 ·决定集群中哪一个服务器将接受下一个TCPP请求, ·检査服务器和应用程序(TCPP端口)的可用性。 在有些情况下,检查由服务器返回的数据的有效性。当服务器作出响应时,这是非常方 便的,但由于某些问题,服务器的响应总是“ Http Error404” ·转换IP报头,以便包能指向选中的服务器,这项转化技术通常称为网络地址转换 (NAT)。 将包发送到服务器 当服务器对客户做出响应时,负载平衡器就对返回到客户的包做出相似的转换,第二次 NAT的结果使得客户接收到的TCPP包看起来就是来自代表此集群的IP 负载平衡 负载平衡器如何决定由哪一个服务器响应发送来的请求呢?这因厂商不同而不同,但最 基本的算法是相同的。负载平衡器通过监视网络活动性,采集了大量的信息。这些活动性包 括进入和来自各个服务器的信息传输量、各个服务器响应TCP/P请求的速度、每个服务器目 前连接的用户数量以及每个服务器对负载的反应的历史情况。负载平衡器为系统管理员提供 了一种基于网络流量的算法,而且这种算法一般包括循环复用法和比率(加权循环复用法) 算法。 负载平衡器通过网络流量监控,能够智能地有效分配处理负载到多个服务器上,再看 下上面DNS循环复用法中讨论的两个服务器的例子,如图27-6所示 如果由于服务器A响应HTTP请求,使其处理器利用率饱和(100%),而服务器B的处理器 利用率很低(如10%-15%),硬件负载平衡器将注意到服务器A的响应很慢,它将安排后续的 请求到服务器B。这将持续到在网络服务器A上的负载回到一个可以接受的水平。其结果比使 用DNS循环复用法好得多。 2.容错 再以两个服务器的web阵为例。如果服务器A停机,硬件负载平衡器将不发送任何TCP/P 流到服务器A。实际上,服务器本身可能正在运行,但是如果web服务不能进行响应,负载 平衡器就会将服务器A从可用的服务器的名单上去掉,并将所有的流传送给服务器B,这也比
第27章 建立多服务器网站计计815 下载 接收到的发送到集群的T C P / I P包,负载平衡器执行如下动作: 图27-5 硬件负载平衡网络配置示意图 • 决定集群中哪一个服务器将接受下一个 T C P / I P请求。 • 检查服务器和应用程序(T C P / I P端口)的可用性。 • 在有些情况下,检查由服务器返回的数据的有效性。当服务器作出响应时,这是非常方 便的,但由于某些问题,服务器的响应总是“ HTTP Error 404”。 • 转换 I P报头,以便包能指向选中的服务器,这项转化技术通常称为网络地址转换 (N AT)。 • 将包发送到服务器。 • 当服务器对客户做出响应时,负载平衡器就对返回到客户的包做出相似的转换,第二次 N AT的结果使得客户接收到的T C P / I P包看起来就是来自代表此集群的 I P。 1. 负载平衡 负载平衡器如何决定由哪一个服务器响应发送来的请求呢?这因厂商不同而不同,但最 基本的算法是相同的。负载平衡器通过监视网络活动性,采集了大量的信息。这些活动性包 括进入和来自各个服务器的信息传输量、各个服务器响应 T C P / I P请求的速度、每个服务器目 前连接的用户数量以及每个服务器对负载的反应的历史情况。负载平衡器为系统管理员提供 了一种基于网络流量的算法,而且这种算法一般包括循环复用法和比率(加权循环复用法) 算法。 负载平衡器通过网络流量监控,能够智能地有效分配处理负载到多个服务器上,再看一 下上面D N S循环复用法中讨论的两个服务器的例子,如图 2 7 - 6所示。 如果由于服务器A响应H T T P请求,使其处理器利用率饱和( 1 0 0 %),而服务器B的处理器 利用率很低(如1 0 % ~ 1 5 %),硬件负载平衡器将注意到服务器 A的响应很慢,它将安排后续的 请求到服务器B。这将持续到在网络服务器 A上的负载回到一个可以接受的水平。其结果比使 用D N S循环复用法好得多。 2. 容错 再以两个服务器的We b阵为例。如果服务器 A停机,硬件负载平衡器将不发送任何 T C P / I P 流到服务器A。实际上,服务器本身可能正在运行,但是如果 Web 服务不能进行响应,负载 平衡器就会将服务器 A从可用的服务器的名单上去掉,并将所有的流传送给服务器 B,这也比 硬件负载平衡器 热备用 集群 网络服务器 Internet
816 ASP3高级编程 Chinapub.com 下载 使用DNS循环复用法的效果好 硬件负载平衡器 Internet 服务器A 且 数据库服务器 热备用 服务器B 图27-6由两个网络服务器组成的硬件负载平衡Web阵 关于硬件负载平衡方案还有一点应当注意:负载平衡器本身成为故障的中心点。为了解 决这一点,典型的方案应包括第二个负载平衡器作为热备用,这种冗余故障屏蔽配置是相当 可靠的。负载平衡器通常通过像RS-232电缆这样的串行通信介质连接,每个单元都有“看门 狗”处理器不断地彼此交流。在某个单元失败或不正常时,“看门狗”单元协商并决定由哪 个单元完成负载平衡 通常,硬件负载平衡器是产品质量部件,其一般特性包括将单个IP地址或介一个完整的C 类地址空间与单个服务器关联起来的能力、遥控、基于网络的管理能力、在服务器故障的情 况下的通知能力、实时的监视性能和统计信息的能力 如果对硬件负载平衡系统感兴趣的话,Cabletron公司(www.cabletron.com)和 CiscoSystems公司(www.cisco.com)已经有了很好的负载平衡的解决方案,在他们 网站上有大量有用的信息。 3.管理 硬件负载平衡的管理比DNS循环复用法的管理复杂得多,但是不必畏惧。建立负载平衡 器并不比建立一个典型的路由器困难(实际上,这些装置基本上都是路由器的形式),而且你 的网络管理员对于路由器的技术应该很了解。对于网络负载平衡模式的管理是相当集中的, 而且不影响服务器机器本身。这在负责建立并监控服务器的管理员眼中就是一个巨大的成功。 4.局限性 对于硬件负载平衡解决方案的实际能力有一些局限,最大的局限是带宽。由于在进入和 输出的过程中都要将TCP/P报头转变为一个新的IP地址,通过负载平衡器的,带宽往往被限 制在45~50Mbps。这对于一般数据而言是一个巨大的带宽,大的站点在其使用高峰期能够超 过这种能力,额外的信息包被丢弃了。显而易见,这不是最优化的,而且对于大部分网站也 是不可行的 硬件负载平衡解决方案的另一不足之处就是费用太高。写本书时,使用一对硬件负载平 衡器的冗余配置的费用在20000美元以上,并且在继续上涨。这就意味着必须在负载平衡器上 花更多的钱而不是在额外的服务器上。 最后,基于硬件的负载平衡算法必须建立在来自于网络流量的可观测数据的基础上,对 服务器的请求的特性可能使服务器的响应变慢,比如HTTP请求包含要花费大量时间的数据库
使用D N S循环复用法的效果好。 图27-6 由两个网络服务器组成的硬件负载平衡 We b阵 关于硬件负载平衡方案还有一点应当注意:负载平衡器本身成为故障的中心点。为了解 决这一点,典型的方案应包括第二个负载平衡器作为热备用,这种冗余故障屏蔽配置是相当 可靠的。负载平衡器通常通过像 R S-2 3 2电缆这样的串行通信介质连接,每个单元都有“看门 狗”处理器不断地彼此交流。在某个单元失败或不正常时,“看门狗”单元协商并决定由哪一 个单元完成负载平衡。 通常,硬件负载平衡器是产品质量部件,其一般特性包括将单个 I P地址或介一个完整的C 类地址空间与单个服务器关联起来的能力、遥控、基于网络的管理能力、在服务器故障的情 况下的通知能力、实时的监视性能和统计信息的能力。 如果对硬件负载平衡系统感兴趣的话, C a b l e t r o n公司( w w w. c a b l e t r o n . c o m )和 Cisco Systems公司(w w w. c i s c o . c o m)已经有了很好的负载平衡的解决方案,在他们 网站上有大量有用的信息。 3. 管理 硬件负载平衡的管理比 D N S循环复用法的管理复杂得多,但是不必畏惧。建立负载平衡 器并不比建立一个典型的路由器困难(实际上,这些装置基本上都是路由器的形式),而且你 的网络管理员对于路由器的技术应该很了解。对于网络负载平衡模式的管理是相当集中的, 而且不影响服务器机器本身。这在负责建立并监控服务器的管理员眼中就是一个巨大的成功。 4. 局限性 对于硬件负载平衡解决方案的实际能力有一些局限,最大的局限是带宽。由于在进入和 输出的过程中都要将 T C P / I P报头转变为一个新的 I P地址,通过负载平衡器的,带宽往往被限 制在4 5~5 0 M b p s。这对于一般数据而言是一个巨大的带宽,大的站点在其使用高峰期能够超 过这种能力,额外的信息包被丢弃了。显而易见,这不是最优化的,而且对于大部分网站也 是不可行的。 硬件负载平衡解决方案的另一不足之处就是费用太高。写本书时,使用一对硬件负载平 衡器的冗余配置的费用在 2 0 0 0 0美元以上,并且在继续上涨。这就意味着必须在负载平衡器上 花更多的钱而不是在额外的服务器上。 最后,基于硬件的负载平衡算法必须建立在来自于网络流量的可观测数据的基础上,对 服务器的请求的特性可能使服务器的响应变慢,比如 H T T P请求包含要花费大量时间的数据库 816计计ASP 3 高级编程 下载 硬件负载平衡器 服务器A 服务器B 数据库服务器 热备用 Internet