4负载均衡在网络中的应用.docx
- 文档编号:28814387
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:12
- 大小:74.24KB
4负载均衡在网络中的应用.docx
《4负载均衡在网络中的应用.docx》由会员分享,可在线阅读,更多相关《4负载均衡在网络中的应用.docx(12页珍藏版)》请在冰豆网上搜索。
4负载均衡在网络中的应用
负载均衡在网络中的应用
摘要:
在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)易管理性:
不管是通过软件还是硬件方式的均衡解决方案,我们都希望它有灵活、直观和安全的管理方式,这样便于安装、配置、维护和监控,提高工作效率。
负载均衡(LoadBalance)
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。
在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
负载均衡实现方式分类
1:
软件负载均衡技术
该技术适用于一些中小型网站系统,可以满足一般的均衡负载需求。
软件负载均衡技术是在一个或多个交互的网络系统中的多台服务器上安装一个或多个相应的负载均衡软件来实现的一种均衡负载技术。
软件可以很方便的安装在服务器上,并且实现一定的均衡负载功能。
软件负载均衡技术配置简单、操作也方便,最重要的是成本很低。
2:
硬件负载均衡技术
由于硬件负载均衡技术需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。
不过在现在较有规模的企业网、政府网站,一般来说都会部署有硬件负载均衡设备(原因1.硬件设备更稳定,2.也是合规性达标的目的)硬件负载均衡技术是在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载技术,与软件负载均衡技术相比,能达到更好的负载均衡效果。
3:
本地负载均衡技术
本地负载均衡技术是对本地服务器群进行负载均衡处理。
该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。
(如微软NLB网络负载均衡技术,该技术通过多台服务器上起应用完成负载均衡的实现,原理是几台服务器虚拟出一个IP地址,应用会使服务器轮循响应数据,但是在一次安全网关的部署当中就遇到了问题,大家以后可以注意本次经验,问题简单描述如下:
当外部测试PC,向虚拟IP地址发了一个ping包之后,虚拟IP回应一个数据包,另外,实主机也均回应数据包,导致安全设备认为会话不是安全的。
所以进行阻断,致使业务不正常。
)
4:
全局负载均衡技术(也称为广域网负载均衡)
全局负载均衡技术适用于拥有多个低于的服务器集群的大型网站系统。
全局负载均衡技术是对分布在全国各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。
很多大型网站都使用的这种技术。
5:
链路集合负载均衡技术
链路集合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路来使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担。
这种技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。
总结:
负载均衡至少有四种应用:
服务器负载均衡;
广域网络服务器负载均衡;
防火墙负载均衡;
透明网站加速器负载均衡。
服务器负载均衡负责将客户请求的任务分发到多台服务器,用以扩展服务能力并超出一台服务器的处理能力,并且能够使应用系统具有容错能力。
广域网络服务器负载均衡负责将客户的请求导向到不同的数据中心的服务器群中,以便为客户提供更快的响应速度和针对某一数据中心出现灾难性事故时智能的冗灾处理。
防火墙负载均衡将请求负载分发到多台防火墙,用来提高安全性能以便超出一台防火墙的处理能力。
透明网站加速器(Transparentcache)使导向流量交换到多台网站加速器中,用以卸载网站服务器的静态内容到网站加速器(Cache)中,从而提高网站服务的性能和加速cache的响应时间。
硬件负载均衡部署方式
负载均衡硬件设备的部署一般有两种:
一种是串联部署、一种是旁路部署。
在部分,我们主要通过F5负载均衡的直连和旁路配置模式解析硬件负载均衡设备的部署方式。
1、直连模式结构
负载均衡
结构说明:
图中Bigip为F5负载均衡设备,bigip上面使用公开的ip地址,bigip下面同负载均衡的服务器使用不公开的ip地址。
但对外提供服务则使用公开的ip。
负载均衡旁路部署
结构说明:
图中Bigip为F5负载均衡设备,bigip和下面同交换机连接的服务器都使用公开的ip地址。
第二,看一下两种模式的流量走向直连下的正常流量走向,如图
负载均衡串联部署流量走向图
如上图,bigip同客户端的流量在bigip的上联接口,bigip同服务器的流量在下面的接口。
再看旁路模式下的流量走向,如图
负载均衡旁路部署流量走向
如上图,无论同客户端还是同服务器的通讯流量均在bigip的一个接口上。
第三、两种模式的对比和思考
1、从接口流量压力上看
直连情况下,bigip同客户端的流量在bigip的上联接口,bigip同服务器的流量在下联的接口,故bigip单一接口压力较小。
在旁路模式下,bigip无论同客户端还是同服务器的通讯流量均在bigip的一个接口上,故bigip单一接口压力较大。
为解决此问题,可以在bigip和交换机之间采用链路聚合技术,即端口捆绑,以避免接口成为网络瓶颈。
2、从网络结构安全性上看
直连情况下,可以不公布内部服务器使用的真实ip地址,只需要公布提供负载均衡的虚拟地址即可,而在旁路情况下,则客户端可以得知服务器的真实地址,在此模式下,为保证服务器的安全性,服务器的网关指向bigip,可以使用bigip上的包过滤(防火墙)功能来保护服务器。
3、从管理方便性上看
直连情况下,因服务器的真实地址可以隐含,故管理起来需要在bigip上启用地址翻译(NAT)功能,相对会复杂一些。
而旁路模式则不需要地址翻译的配置。
4、从扩展性上看
直连模式不支持npath模式,旁路模式支持npath模式,启用npath模式可减少F5设备的压力,旁路npath模式下的流量走向,如下图。
(在该种流量走向的情况下,如果网络中有安全设备,很可能会出现问题,具体的问题还要看安全设备是在负载均衡设备之上,还是负载均衡设备之下)
npath流量走向图
在旁路模式下,使用npath的流量处理方式,所有服务器回应的流量可以不通过bigip,这样可以大大减少bigip上流量的压力。
但npath的流量处理方式不能工作在直连的模式。
5、后续系统改造时,两种模式的工作复杂程度不一样
如果对一个原先没有负载均衡技术的系统进行负载均衡技术的改造,那么,在直连情况下,需要修改服务器的ip地址同时网络结构也要做调整(将服务器调到bigip后端),同时相关联的应用也要改动,需要进行严格的测试才能上线运行;然而,在旁路模式下,仅仅需要改动一下服务器的网关,原有系统的其它部分(包括网络结构)基本不需要做改动,故前者对系统改动较大,后者则改动较小。
最后总结一下,相对于直连模式,旁挂模式在系统架构中的主要优点:
1、增加了网络的灵活性:
F5采用旁挂的方式,则后端服务器的网关指向的为三层交换机的地址,而不是F5的地址,在对网络设备维护时可以方便的采用修改路由的方式使设备下线,便于维护管理。
同时,一些特殊的应用也可在核心交换机上采用策略路由的方式指向特定的网络设备。
2、提高了网络整体的可靠性:
由于旁路方式的存在,如果F5设备出现问题,可在交换机上修改路由使用数据流绕过F5,而不会对整个业务系统造成影响。
3、针对某些特殊应用,提高了速度:
采用旁路的方式后,一些特定的的对速度、时延敏感的应用数据在进入和离开时可以采用不同的路径,例如:
在流入时可经过F5设备,对其进行检查,负载均衡。
而在该数据流离开时,则不经过F5,以提高其速度。
6.总结
通过前面对各种负载均衡技术的介绍,可以看到负载平衡系统应当增强现有网络的设备功能,提高网络安全性,并且不受限于操作系统平台和网络的结构。
另一方面负载均衡技术的选择涉及到相当多的因素。
负载均衡技术运用得好,可以增强Web应用的性能,对于实现服务器最优的服务质量至关重要。
如果处理不当,用户将被迫面临很慢的响应时间或者连接遭到拒绝。
我们必须保证所采用的负载平衡解决方案的高可靠、高可用,才能为教学建立优质的服务平台,提高网上教育、网上管理的质量。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 负载 均衡 网络 中的 应用