浅析网络负载均衡技术概况
所属栏目:计算机网络论文
发布时间:2011-03-18 10:46:26 更新时间:2011-03-18 10:46:26
网络负载均衡服务在Windows2000高级服务器和Windows2000数据中心服务器操作系统中均可得到。网络负载均衡提高了使用在诸如Web服务器、FTP服务器和其它关键任务服务器上的因特网服务器程序的可用性和可伸缩性。运行Windows2000的单一计算机可以提供有限级别的服务器可靠性和可伸缩性。但是,通过将两个或两个以上运行Windows2000高级服务器的主机连成群集,网络负载均衡就能够提供关键任务服务器所需的可靠性和性能。
每个主机运行一个所需服务器程序的独立拷贝,诸如Web、FTP、Telnet或e-mail服务器程序。对于某些服务(如运行在Web服务器上的那些服务)而言,程序的一个拷贝运行在群集内所有的主机上,而网络负载均衡则将工作负载在这些主机间进行分配。对于其他服务(例如e-mail)只有一台主机处理工作负载,针对这些服务,网络负载均衡允许网络通讯量流到一个主机上,并在该主机发生故障时将通讯量移至其它主机。
网络负载均衡配置概述
网络负载均衡是Windows2000的一个网络驱动程序。它的操作对TCP/IP网络栈而言是透明的。
为确保网络性能达到最优,网络负载均衡通常使用一个网络适配器来处理客户到群集的通讯量,而其它对服务器的网络通讯量则经由一个单独网络适配器。然而,第二个网络适配器是不需要的。
来自负载均衡服务器应用的数据库访问
某些服务器程序需要访问由客户请求来更新的数据库。当这些程序的负载在群集内得到均衡分配时,相关的更新工作则应保持同步状态。每个主机均使用一个本地、独立的数据库拷贝,而该数据库在必要时可脱机并入。另一种方法是,群集主机能够共享对一个独立的网络数据库服务器的访问。也可以组合使用这些方法。例如,静态Web网页能够在全部群集服务器间进行复制,以确保快速访问和全面容错。但是,数据库访问请求将转发至为多个Web服务器进行更新处理的公共数据库服务器。
某些关键任务程序可能需要使用高度可用的数据库引擎以确保全面容错。逐渐地,具有群集识别能力的数据库软件将得到部署,用以在整个群集模式中提供具有高度可用性与可伸缩性的数据库访问。MicrosoftSQLServer就是一个例子,它能够使用群集服务功能以双节点方式进行部署。群集服务可确保在一个节点发生故障的情况下,剩余的节点将承担起故障电脑的职责,这样,就能够为MicrosoftSQLServer客户提供近乎连续的服务。
由于两台电脑共享一个公共磁盘子系统,则上述功能是可以实现的。
注释
通过讨论在以下两个群集解决方案之间进行比选是十分重要的。第一方案,网络负载均衡主要是分配引入的传输控制协议/网际协议(TCP/IP)通讯量;加入这一解决方案的计算机形成一种群集。第二方案,群集服务主要是提供从一台计算机到另一计算机的故障应急服务;加入这一解决方案的计算机形成另一种群集。网络负载均衡群集通常运行Web服务器程序。群集服务通常运行数据库程序(当与网络负载均衡联合使用时)。通过将两个群集连接在一起以互补方式发挥作用,用户创建了全面群集解决方案。
网络负载均衡如何工作
网络负载均衡为共同工作且使用两个或两个以上主机群集的Web服务器提供了高度可用性和可伸缩性。因特网客户使用单一的IP地址(或一个多主主机的一组地址)访问群集。客户不能将单一服务器从群集中区分开来。服务器程序不能识别它们正运行于一个群集中。但是,由于网络负载均衡群集即使在群集主机发生故障的情况下仍能提供了不间断的服务,故而,它与运行单一服务器程序的单一主机大相径庭。与单一主机相比,群集还能对客户需求做出更迅捷的反应。
网络负载均衡通过在主机发生故障或脱机的情况下将网络通讯量重新指定给其它工作群集主机来提供高度的可用性。与脱机主机现存的连接虽然丢失,但因特网服务仍然处于可用状态。在大多数情况下(例如,就Web服务器而言),客户软件会自动重试发生故障的连接,而且,客户仅需几秒的延迟即可收到响应。
网络负载均衡通过在群集的一个或一个以上虚拟IP地址当中分配引入的网络通讯量来提供伸缩能力。群集中的主机于是对不同客户请求做出响应,即使是来自同一客户的多重请求也如是。例如,Web浏览器可能在单一Web网页内获得群集内不同主机处的多重映射。这就加速了处理过程并缩短了对客户的响应时间。
网络负载均衡使在一个子网上的全部群集主机能够为群集的主IP地址(以及多主主机上的额外IP地址)同时检测引入的网络通讯量。在每个群集主机上,网络负载均衡驱动程序充当了一个介于群集适配器驱动程序和TCP/IP栈之间的过滤器,以这种方式使主机能够收到一部分引入的网络通讯量。
网络负载均衡使用全面分布式的算法来从统计意义上将引入的客户映射到基于IP地址、端口和其它信息的群集主机上。在检查收到的数据包时,所有主机均同步执行这种映射以迅速决定哪个主机应处理该数据包。除非群集主机数量发生变化,该映射会保持不变。网络负载均衡过滤算法在数据包处理程序方面要比在集中负载均衡程序方面高效得多,而这必须修改并重发数据包。这就使网络负载均衡能够提供高得多的聚集带宽。通过直接在群集主机上运行,网络负载均衡的性能并不受某一代处理器或网络技术的局限。
群集通讯量的分配
网络负载均衡控制对从因特网客户到群集内选定主机的TCP与用户数据报协议(UDP)通讯量的分配,做法如下:在配置了网络负载平衡以后,对群集IP地址的引入客户请求由群集内的所有主机收到。网络负载平衡在这些数据报到达TCP/IP协议软件之前,就对这些数据报进行过滤以指定TCP和UDP端口。网络负载平衡只管理TCP/IP中TCP和UDP协议,并以逐端口方式控制它们的活动。
除了流向指定端口的TCP和UDP通讯量之外,网络负载均衡不控制任何引入的IP通讯量。网络负载均衡不对网际控制报文协议(ICMP)、网际组成员协议(IGMP)、地址解析协议(ARP)或其它IP协议进行过滤。所有这些通讯量均不加修改地传递给在群集内全部主机上的TCP/IP协议软件。因为有了TCP/IP的稳定性及其处理重复数据报的能力,其它协议就能够在群集环境内正确运转。可是,当使用群集IP地址时,你可能预期从特定的点到点TCP/IP程序(比如ping)中看到重复的响应。这些程序能够通过为每个主机使用专用的IP地址来避免这种情况的发生。
1
月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!