负载均衡在网络中的应用.docx
《负载均衡在网络中的应用.docx》由会员分享,可在线阅读,更多相关《负载均衡在网络中的应用.docx(8页珍藏版)》请在冰点文库上搜索。
负载均衡在网络中的应用
XX大学XX学院
(课程论文)
负
载
均
衡
在
网
络
中
的
应
用
学院:
--------
班级:
----------
学号:
--------------
姓名:
--------
目录
1.引言1
2.负载均衡技术的层次结构2
3.常用的负载均衡技术介绍2
3.1基于客户端的负载均衡2
3.2应用服务器的负载均衡技术3
3.3基于DNS域名系统的负载均衡3
3.4高层协议的负载均衡技术4
3.5网络接入负载均衡技术5
3.6传输链路负载均衡技术6
4.负载均衡技术在实施过程中要注意的几个问题7
6.总结8
摘要:
在Internet迅猛发展的今天,网络的可用性和容错性已成为对站点的关键要求。
而负载均衡技术的出现,极大地保证了网络核心部件的正常运转,扩展了网络带宽,提高了吞吐量,加强了网络数据处理能力,大大提高了系统容错性,为最终用户提供优质的服务质量。
本文就几种常用的负载均衡技术展开讨论、进行了技术分析,同时分析了负载均衡技术在实施过程中要注意的几个问题。
1.引言
计算机网络的各个核心部分随着网络应用业务量及用户数的增加,访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担,而大量的硬件升级需要高额成本投入,还容易造成现有资源的浪费,于是,负载均衡机制应运而生了。
负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法扩展网络带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。
它主要完成以下任务:
解决网络拥塞问题;提高服务器响应速度;提高服务器及其他资源的利用效率;避免网络关键部位出现单点失效,从而为用户提供更好的访问质量。
负载均衡的定义
负载均衡有两个方面的含义:
首先,把大量的并发访问或数据流量按一定的策略分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,结果汇总后再返回给用户,使得整个系统处理能力可以得到大幅度提高。
2.负载均衡技术的层次结构
广义上的负载均衡既可以是专门的硬件设备(网关/路由器、防火墙、交换机、负载均衡器等),也可以通过一些专用软件与协议来实现。
对一个网络的负载均衡应用,从网络的不同层次入手,需要我们根据网络瓶颈所在进行具体分析。
从客户端应用为起点纵向分析,参考OSI分层模型,我们把负载均衡技术的实现分为客户端负载均衡技术、应用服务器负载均衡技术、DNS域名系统负载均衡技术、高层协议负载均衡技术、网络接入负载均衡技术、传输链路层负载均衡等几种方式。
负载均衡的层次结构图如下
客户端负载均衡
应用服务器负载均衡
DNS负载均衡
高协议负载均衡
网络接入负载均衡
传输链路层负载均衡
负载
均衡
的层
次结
构
3.常用的负载均衡技术介绍
3.1基于客户端的负载均衡
这种模式指的是在网络的客户端运行特定的程序,该程序通过定期或不定期的收集服务器群的运行参数:
CPU占用情况、磁盘IO、内存等动态信息,再根据某种选择策略,找到可以提供服务的最佳服务器,将本地的应用请求发向它。
整个过程对于应用程序来说是完全透明的,所有的工作都在运行时处理。
这种技术存在明显的通用性问题。
因为每一个客户端都要安装这个特殊的程序;并且,为了保证应用层的透明运行,需要针对每一个应用程序加以修改,要对代码进行重新开发,工作量比较大,因而这种技术仅适用于特殊的应用场合。
3.2应用服务器的负载均衡技术
如果将客户端的负载均衡层移植到某一个中间平台,形成三层结构,则客户端应用可以不需要做特殊的修改,透明的通过中间层应用服务器将请求均衡到相应的服务结点。
比较常见的实现手段就是反向代理技术。
通过反向代理服务器,可以将请求按一定的策略转发给多台服务器,或者可以直接将缓存的数据返回客户端,这样的加速模式在一定程度上可以提升客户端的访问速度,从而达到负载均衡的目的,目前广泛采用的有HTTP反向代理技术。
反向代理技术存在以下缺陷:
(1)必须为每一种服务都专门开发一个反向代理服务器,这样就限制了反向代理负载均衡技术的应用范围,现在一般都用于对web服务器的负载均衡;
(2)随着并发连接数量的增加,代理服务器本身的负载也会变得非常大,最后反向代理服务器本身会成为服务的瓶颈。
3.3基于DNS域名系统的负载均衡
最早的负载均衡技术是通过DNS轮循来实现的,DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
DNS负载均衡存在的缺点:
(1)DNS负载均衡采用的是简单的轮循负载算法,无法区分服务器的差异,不能做到为性能较好的服务器多分配请求;
(2)为了使地址能随机分配,保证不同的客户计算机能均匀获得不同的地址,就应使刷新时间尽量短,不同地方的DNS服务器能更新对应的地址,达到随机获得地址,然而将过期时间设置得过短,将使DNS流量大增,而造成额外的网络问题;
(3)一旦某个服务器出现故障,即使客户端及时修改了DNS设置,还是需要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障DNS服务器地址的客户计算机将不能正常访问服务器。
尽管存在多种问题,但它还是一种非常简单有效的方法,包括Yahoo、Google等在内的很多大型网站都采用该技术。
3.4高层协议的负载均衡技术
高层协议负载均衡技术通常是指Web内容交换或七层交换,它提供了一种对访问流量的高层控制方式。
Web内容交换技术检查所有的HTTP报头,根据报头内的信息来执行负载均衡的决策。
常见的技术实现主要是依靠HTTP协议中的重定向功能等。
Web内容交换负载均衡优点表现在如下几个方面:
(1)通过对HTTP报头的检查,可以检测出HTTP400、500和600系列的错误信息,因而能透明地将连接请求重新定向到另一台服务器,避免应用层故障。
(2)可根据流经的数据类型(如判断数据包是图像文件、压缩文件或多媒体文件格式等),把数据流量引向相应内容的服务器来处理,增加系统性能。
(3)能根据连接请求的类型,如是普通文本、图象等静态文档请求,还是asp、cgi等的动态文档请求,把相应的请求引向相应的服务器来处理,提高系统的性能及安全性。
Web内容交换负载均衡受到其所支持的协议限制(一般只有HTTP),这样就限制了它应用的广泛性,并且检查HTTP报头会占用大量的系统资源,势必会影响到系统的性能,在大量连接请求的情况下,负载均衡设备自身容易成为网络整体性能的瓶颈。
3.5网络接入负载均衡技术
也就是通常说的第四层交换技术,很多硬件厂商已经将这种技术集成在他们的交换机/路由器中,已经被广泛用于构建各种服务器集群。
它一般采用随机选择、根据服务器的连接数量或者响应时间进行选择的负载均衡策略来分配负载,对外提供一个一致的IP地址,并映射为多个内部IP地址,对每次TCP和UDP连接请求,根据其访问的端口号,按照即定的策略动态选择一个内部地址,将数据包转发到该地址上,达到负载均衡的目的,例如采用NAT负载均衡技术。
3.6传输链路负载均衡技术
随着高带宽应用需求不断增大时(例如Web访问、文档传输及VOD视频、IP电话等),网络核心部位如交换机、服务器、路由器等的数据链路将产生瓶颈问题,这将会导致客户应用请求的响应时间大大增加,同时单一的访问链路不可避免的存在单点故障问题,网络的可靠性没有保障。
链路聚合技术为消除传输链路上的瓶颈与不可靠因素提供了成本低廉的解决方案。
链路聚合技术是将多条线路的传输容量融合成一个单一的逻辑链路来使用,每条线路都用于网络传输,扩大了网络的传输容量,其中的某条线路断开也不会影响到网络的运行。
目前广泛采用的链路聚合技术主要有以下几种:
(1)IMUX反转多路复用器工作在T1/E1的比特层,可以捆绑多个同步的DS1信道来传输数据,实现负载均衡,该技术目前已经广泛用于广域网接入。
(2)IMA是另外一种基于ATM的多线路的反向多路复用技术,能够运行在使用ATM路由器的平台上。
(3)基于路由器的多重链路PPP,又称MP或MLP,是应用于使用PPP封装数据链路的路由器负载平衡技术。
MP可以将大的PPP数据包分解成小的数据段,根据一定策略再将其分发给平行的多个线路,主要用于广域网链路的备份及广域网连接带宽的扩展。
(4)基于网卡的链路聚合,自动负载均衡(AdaptiveLoadBalancing,简称ALB)和网卡冗余(AdapterFaultToler-ance,简称AFT)已经在很多产品中实现,如Intel的多端口网卡,采用这些技术可以大大提高了服务器的网络吞吐量及可靠性,不过这项技术需要操作系统驱动层和网络交换机的支持。
(5)基于交换机端口聚合(80211ad标准),主要用于交换机之间和交换机与服务器之间,可以将连接多个端口的链路绑定在一起,使链路的带宽成倍增长。
可以实现端口间的负载均衡,同时也能够互为备份,保证了链路的冗余性。
4.负载均衡技术在实施过程中要注意的几个问题
当我们在引入某种负载均衡方案乃至具体实施时,像其他的许多方案一样,首先是确定当前及将来的应用需求,分析网络瓶颈之所在,然后在多种因素之间做出权衡,比如是采用硬件的还是软件的负载均衡技术,采用什么样的均衡策略,在可用性、兼容性、安全性等等方面要满足多大的需求,资金投入等等,在综合了多种因素后最终确定一个合适的方案。
不管负载均衡方案是采用花费较少的软件方式,还是购买代价高昂在性能功能上更强的第四层交换机、负载均衡器等硬件方式来实现,或其他种类不同的均衡技术,下面这几项都是我们在引入均衡方案时可能需要考虑的问题:
(1)性能:
性能是我们在引入均衡方案时需要重点考虑的问题,性能的优劣与负载均衡设备的处理能力、采用的均衡策略息息相关,要坚决避免负载均衡设备因为大量连接请求时自身性能不足而成为服务瓶颈。
有时我们也可以考虑采用混合型负载均衡策略来提升服务器群的总体性能,如DNS负载均衡与NAT负载均衡相结合,此外还要兼顾考虑性价比。
(2)可扩展性:
合适的均衡解决方案应能满足网络技术不断更新、网络规模不断扩大的需求,能均衡不同操作系统和硬件平台之间的负载,能均衡HTTP、邮件、数据库、防火墙和Cache等不同服务器的负载,并且能够对客户端完全透明。
(3)灵活性:
均衡解决方案应能灵活地提供不同的应用需求,满足应用需求的不断变化。
在不同的服务器群有不同的应用需求时,应有多样的均衡策略提供更广泛的选择。
(4)可靠性:
在对服务质量要求较高的站点,负载均衡解决方案应能为服务器群提供高度的容错性和高可用性,同时也要考虑负载均衡设备自身的冗余解决方案。
使用冗余负载均衡设备时,处于同一个冗余单元的多个负载均衡设备必须具有有效的方式以便互相进行监控,保护系统尽可能地避免因故障遭受损失。
(5)易管理性:
不管是通过软件还是硬件方式的均衡解决方案,我们都希望它有灵活、直观和安全的管理方式,这样便于安装、配置、维护和监控,提高工作效率。
6.总结
通过前面对各种负载均衡技术的介绍,可以看到负载平衡系统应当增强现有网络的设备功能,提高网络安全性,并且不受限于操作系统平台和网络的结构。
另一方面负载均衡技术的选择涉及到相当多的因素。
负载均衡技术运用得好,可以增强Web应用的性能,对于实现服务器最优的服务质量至关重要。
如果处理不当,用户将被迫面临很慢的响应时间或者连接遭到拒绝。
我们必须保证所采用的负载平衡解决方案的高可靠、高可用,才能为教学建立优质的服务平台,提高网上教育、网上管理的质量。