负载均衡关键技术.docx
- 文档编号:7355958
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:19
- 大小:158.16KB
负载均衡关键技术.docx
《负载均衡关键技术.docx》由会员分享,可在线阅读,更多相关《负载均衡关键技术.docx(19页珍藏版)》请在冰豆网上搜索。
负载均衡关键技术
负载均衡技术
Internet规模每一百天就会增长一倍,客户但愿获得7天24小时不间断可用性及较快系统反映时间,而不肯屡次看到某个站点“ServerTooBusy”及频繁系统故障。
网络各个核心某些随着业务量提高、访问量和数据流量迅速增长,其解决能力和计算强度也相应增大,使得单一设备主线无法承担。
在此状况下,如果扔掉既有设备去做大量硬件升级,这样将导致既有资源挥霍,并且如果再面临下一次业务量提高,这又将导致再一次硬件升级高额成本投入,甚至性能再卓越设备也不能满足当前业务量需求。
于是,负载均衡机制应运而生。
负载均衡(LoadBalance)建立在既有网络构造之上,它提供了一种便宜有效透明办法扩展网络设备和服务器带宽、增长吞吐量、加强网络数据解决能力、提高网络灵活性和可用性。
负载均衡有两方面含义:
一方面,大量并发访问或数据流量分担到多台节点设备上分别解决,减少顾客等待响应时间;另一方面,单个重负载运算分担到多台节点设备上做并行解决,每个节点设备解决结束后,将成果汇总,返回给顾客,系统解决能力得到大幅度提高。
本文所要简介负载均衡技术重要是指在均衡服务器群中所有服务器和应用程序之间流量负载应用,当前负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其他核心任务服务器上Internet服务器程序可用性和可伸缩性。
负载均衡技术分类
当前有许多不同负载均衡技术用以满足不同应用需求,下面从负载均衡所采用设备对象、应用网络层次(指OSI参照模型)及应用地理构造等来分类。
软/硬件负载均衡
软件负载均衡解决方案是指在一台或多台服务器相应操作系统上安装一种或各种附加软件来实现负载均衡,如DNSLoadBalance,CheckPointFirewall-1ConnectControl等,它长处是基于特定环境,配备简朴,使用灵活,成本低廉,可以满足普通负载均衡需求。
软件解决方案缺陷也较多,由于每台服务器上安装额外软件运营会消耗系统不定量资源,越是功能强大模块,消耗得越多,因此当连接祈求特别大时候,软件自身会成为服务器工作成败一种核心;软件可扩展性并不是较好,受到操作系统限制;由于操作系统自身Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备咱们普通称之为负载均衡器,由于专门设备完毕专门任务,独立于操作系统,整体性能得到大量提高,加上多样化负载均衡方略,智能化流量管理,可达到最佳负载均衡需求。
负载均衡器有各种各样形式,除了作为独立意义上负载均衡器外,有些负载均衡器集成在互换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群内部网络上。
普通而言,硬件负载均衡在功能、性能上优于软件方式,但是成本昂贵。
本地/全局负载均衡
负载均衡从其应用地理构造上分为本地负载均衡(LocalLoadBalance)和全局负载均衡(GlobalLoadBalance,也叫地区负载均衡),本地负载均衡是指对本地服务器群做负载均衡,全局负载均衡是指对分别放置在不同地理位置、有不同网络构造服务器群间作负载均衡。
本地负载均衡能有效地解决数据流量过大、网络负荷过重问题,并且不需耗费昂贵开支购买性能卓越服务器,充分运用既有设备,避免服务器单点故障导致数据流量损失。
其有灵活多样均衡方略把数据流量合理地分派给服务器群内服务器共同承担。
虽然是再给既有服务器扩充升级,也只是简朴地增长一种新服务器到服务群中,而不需变化既有网络构造、停止既有服务。
全局负载均衡重要用于在一种多区域拥有自己服务器站点,为了使全球顾客只以一种IP地址或域名就能访问到离自己近来服务器,从而获得最快访问速度,也可用于子公司分散站点分布广大公司通过Intranet(公司内部互联网)来达到资源统一合理分派目。
全局负载均衡有如下特点:
实现地理位置无关性,可以远距离为顾客提供完全透明服务。
除了能避免服务器、数据中心等单点失效,也能避免由于ISP专线故障引起单点失效。
解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好访问质量。
网络层次上负载均衡
针对网络上负载过重不同瓶颈所在,从网络不同层次入手,咱们可以采用相应负载均衡技术来解决既有问题。
随着带宽增长,数据流量不断增大,网络核心某些数据接口将面临瓶颈问题,原有单一线路将很难满足需求,并且线路升级又过于昂贵甚至难以实现,这时就可以考虑采用链路聚合(Trunking)技术。
链路聚合技术(第二层负载均衡)将多条物理链路当作一条单一聚合逻辑链路使用,网络数据流量由聚合逻辑链路中所有物理链路共同承担,由此在逻辑上增大了链路容量,使其能满足带宽增长需求。
当代负载均衡技术普通操作于网络第四层或第七层。
第四层负载均衡将一种Internet上合法注册IP地址映射为各种内部服务器IP地址,对每次TCP连接祈求动态使用其中一种内部IP地址,达到负载均衡目。
在第四层互换机中,此种均衡技术得到广泛应用,一种目的地址是服务器群VIP(虚拟IP,VirtualIPaddress)连接祈求数据包流经互换机,互换机依照源端和目IP地址、TCP或UDP端标语和一定负载均衡方略,在服务器IP和VIP间进行映射,选用服务器群中最佳服务器来解决连接祈求。
第七层负载均衡控制应用层服务内容,提供了一种对访问流量高层控制方式,适合对HTTP服务器群应用。
第七层负载均衡技术通过检查流经HTTP报头,依照报头内信息来执行负载均衡任务。
第七层负载均衡长处体当前如下几种方面:
通过对HTTP报头检查,可以检测出HTTP400、500和600系列错误信息,因而能透明地将连接祈求重新定向到另一台服务器,避免应用层故障。
可依照流经数据类型(如判断数据包是图像文献、压缩文献或多媒体文献格式等),把数据流量引向相应内容服务器来解决,增长系统性能。
能依照连接祈求类型,如是普通文本、图象等静态文档祈求,还是asp、cgi等动态文档祈求,把相应祈求引向相应服务器来解决,提高系统性能及安全性。
第七层负载均衡受到其所支持合同限制(普通只有HTTP),这样就限制了它应用广泛性,并且检查HTTP报头会占用大量系统资源,势必会影响到系统性能,在大量连接祈求状况下,负载均衡设备自身容易成为网络整体性能瓶颈。
负载均衡方略
在实际应用中,咱们也许不想仅仅是把客户端服务祈求平均地分派给内部服务器,而不论服务器与否宕机。
而是想使PentiumIII服务器比PentiumII能接受更多服务祈求,一台解决服务祈求较少服务器能分派到更多服务祈求,浮现故障服务器将不再接受服务祈求直至故障恢复等等。
选取适当负载均衡方略,使各种设备能较好共同完毕任务,消除或避免既有网络负载分布不均、数据流量拥挤反映时间长瓶颈。
在各负载均衡方式中,针对不同应用需求,在OSI参照模型第二、三、四、七层负载均衡均有相应负载均衡方略。
负载均衡方略优劣及其实现难易限度有两个核心因素:
一、负载均衡算法,二、对网络系统状况检测方式和能力。
考虑到服务祈求不同类型、服务器不同解决能力以及随机选取导致负载分派不均匀等问题,为了更加合理把负载分派给内部各种服务器,就需要应用相应可以对的反映各个服务器解决能力及网络状态负载均衡算法:
轮循均衡(RoundRobin):
每一次来自网络祈求轮流分派给内部中服务器,从1至N然后重新开始。
此种均衡算法适合于服务器组中所有服务器均有相似软硬件配备并且平均服务祈求相对均衡状况。
权重轮循均衡(WeightedRoundRobin):
依照服务器不同解决能力,给每个服务器分派不同权值,使其可以接受相应权值数服务祈求。
例如:
服务器A权值被设计成1,B权值是3,C权值是6,则服务器A、B、C将分别接受到10%、30%、60%服务祈求。
此种均衡算法能保证高性能服务器得到更多使用率,避免低性能服务器负载过重。
随机均衡(Random):
把来自网络祈求随机分派给内部中各种服务器。
权重随机均衡(WeightedRandom):
此种均衡算法类似于权重轮循算法,但是在解决祈求分担时是个随机选取过程。
响应速度均衡(ResponseTime):
负载均衡设备对内部各服务器发出一种探测祈求(例如Ping),然后依照内部中各服务器对探测祈求最快响应时间来决定哪一台服务器来响应客户端服务祈求。
此种均衡算法能较好反映服务器当前运营状态,但这最快响应时间仅仅指是负载均衡设备与服务器间最快响应时间,而不是客户端与服务器间最快响应时间。
至少连接数均衡(LeastConnection):
客户端每一次祈求服务在服务器停留时间也许会有较大差别,随着工作时间加长,如果采用简朴轮循或随机均衡算法,每一台服务器上连接进程也许会产生极大不同,并没有达到真正负载均衡。
至少连接数均衡算法对内部中需负载每一台服务器均有一种数据记录,记录当前该服务器正在解决连接数量,当有新服务连接祈求时,将把当前祈求分派给连接数至少服务器,使均衡更加符合实际状况,负载更加均衡。
此种均衡算法适合长时解决祈求服务,如FTP。
解决能力均衡:
此种均衡算法将把服务祈求分派给内部中解决负荷(依照服务器CPU型号、CPU数量、内存大小及当前连接数等换算而成)最轻服务器,由于考虑到了内部服务器解决能力及当前网络运营状况,因此此种均衡算法相对来说更加精准,特别适合运用到第七层(应用层)负载均衡状况下。
DNS响应均衡(FlashDNS):
在Internet上,无论是HTTP、FTP或是其他服务祈求,客户端普通都是通过域名解析来找到服务器确切IP地址。
在此均衡算法下,分处在不同地理位置负载均衡设备收到同一种客户端域名解析祈求,并在同一时间内把此域名解析成各自相相应服务器IP地址(即与此负载均衡设备在同一位地理位置服务器IP地址)并返回给客户端,则客户端将以最先收到域名解析IP地址来继续祈求服务,而忽视其他IP地址响应。
在种均衡方略适合应用在全局负载均衡状况下,对本地负载均衡是没故意义。
尽管有各种负载均衡算法可以较好把数据流量分派给服务器去负载,但如果负载均衡方略没有对网络系统状况检测方式和能力,一旦在某台服务器或某段负载均衡设备与服务器网络间浮现故障状况下,负载均衡设备依然把一某些数据流量引向那台服务器,这势必导致大量服务祈求被丢失,达不到不间断可用性规定。
因此良好负载均衡方略应有对网络故障、服务器系统故障、应用服务故障检测方式和能力:
Ping侦测:
通过ping方式检测服务器及网络系统状况,此种方式简朴迅速,但只能大体检测出网络及服务器上操作系统与否正常,对服务器上应用服务检测就无能为力了。
TCPOpen侦测:
每个服务都会开放某个通过TCP连接,检测服务器上某个TCP端口(如Telnet23口,HTTP80口等)与否开放来判断服务与否正常。
HTTPURL侦测:
例如向HTTP服务器发出一种对main.html文献访问祈求,如果收到错误信息,则以为服务器浮现故障。
负载均衡方略优劣除受上面所讲两个因素影响外,在有些应用状况下,咱们需要将来自同一客户端所有祈求都分派给同一台服务器去承担,例如服务器将客户端注册、购物等服务祈求信息保存本地数据库状况下,把客户端子祈求分派给同一台服务器来解决就显至关重要了。
有两种方式可以解决此问题,一是依照IP地址把来自同一客户端多次祈求分派给同一台服务器解决,客户端IP地址与服务器相应信息是保存在负载均衡设备上;二是在客户端浏览器cookie内做独一无二标记来把多次祈求分派给同一台服务器解决,适合通过代理服务器上网客户端。
尚有一种途径外返回模式(OutofPathReturn),当客户端连接祈求发送给负载均衡设备时候,中心负载均衡设备将祈求引向某个服务器,服务器回应祈求不再返回给中心负载均衡设备,即绕过流量分派器,直接返回给客户端,因而中心负载均衡设备只负责接受并转发祈求,其网络承担就减少了诸多,并且给客户端提供了更快响应时间。
此种模式普通用于HTTP服务器群,在各服务器上要安装一块虚拟网络适配器,并将其IP地址设为服务器群VIP,这样才干在服务器直接回应客户端祈求时顺利达到三次握手。
负载均衡实行要素
负载均衡方案应是在网站建设初期就应考虑问题,但是有时随着访问流量爆炸性增长,超过决策者意料,这也就成为不得不面对问题。
当咱们在引入某种负载均衡方案乃至详细实行时,像其她许多方案同样,一方面是拟定当前及将来应用需求,然后在代价与收效之间做出权衡。
针对当前及将来应用需求,分析网络瓶颈不同所在,咱们就需要确立是采用哪一类负载均衡技术,采用什么样均衡方略,在可用性、兼容性、安全性等等方面要满足多大需求,如此等等。
不论负载均衡方案是采用耗费较少软件方式,还是购买代价高昂在性能功能上更强第四层互换机、负载均衡器等硬件方式来实现,亦或其她种类不同均衡技术,下面这几项都是咱们在引入均衡方案时也许要考虑问题:
1、性能:
性能是咱们在引入均衡方案时需要重点考虑问题,但也是一种最难把握问题。
衡量性能时可将每秒钟通过网络数据包数目做为一种参数,另一种参数是均衡方案中服务器群所能解决最大并发连接数目,但是,假设一种均衡系统能解决百万计并发连接数,可是却只能以每秒2个包速率转发,这显然是没有任何作用。
性能优劣与负载均衡设备解决能力、采用均衡方略息息有关,并且有两点需要注意:
一、均衡方案对服务器群整体性能,这是响应客户端连接祈求速度核心;二、负载均衡设备自身性能,避免有大量连接祈求时自身性能局限性而成为服务瓶颈。
有时咱们也可以考虑采用混合型负载均衡方略来提高服务器群总体性能,如DNS负载均衡与NAT负载均衡相结合。
此外,针对有大量静态文档祈求站点,也可以考虑采用高速缓存技术,相对来说更节约费用,更能提高响应性能;对有大量ssl/xml内容传播站点,更应考虑采用ssl/xml加速技术。
2、可扩展性:
IT技术日新月异,一年此前最新产品,当前或许已是网络中性能最低产品;业务量急速上升,一年前网络,当前需要新一轮扩展。
适当均衡解决方案应能满足这些需求,能均衡不同操作系统和硬件平台之间负载,能均衡HTTP、邮件、新闻、代理、数据库、防火墙和Cache等不同服务器负载,并且能以对客户端完全透明方式动态增长或删除某些资源。
灵活性:
均衡解决方案应能灵活地提供不同应用需求,满足应用需求不断变化。
在不同服务器群有不同应用需求时,应有多样均衡方略提供更广泛选取。
可靠性:
在对服务质量规定较高站点,负载均衡解决方案应能为服务器群提供完全容错性和高可用性。
但在负载均衡设备自身浮现故障时,应当有良好冗余解决方案,提高可靠性。
使用冗余时,处在同一种冗余单元各种负载均衡设备必要具备有效方式以便互相进行监控,保护系统尽量地避免遭受到重大故障损失。
3、易管理性:
不论是通过软件还是硬件方式均衡解决方案,咱们都但愿它有灵活、直观和安全管理方式,这样便于安装、配备、维护和监控,提高工作效率,避免差错。
在硬件负载均衡设备上,当前重要有三种管理方式可供选取:
一、命令行接口(CLI:
CommandLineInterface),可通过超级终端连接负载均衡设备串行接口来管理,也能telnet远程登录管理,在初始化配备时,往往要用到前者;二、图形顾客接口(GUI:
GraphicalUserInterfaces),有基于普通web页管理,也有通过JavaApplet进行安全管理,普通都需要管理端安装有某个版本浏览器;三、SNMP(SimpleNetworkManagementProtocol,简朴网络管理合同)支持,通过第三方网络管理软件对符合SNMP原则设备进行管理。
负载均衡配备实例
DNS负载均衡
DNS负载均衡技术是在DNS服务器中为同一种主机名配备各种IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文献中主机记录IP地址按顺序返回不同解析成果,将客户端访问引导到不同机器上去,使得不同客户端访问不同服务器,从而达到负载均衡目。
DNS负载均衡长处是经济简朴易行,并且服务器可以位于internet上任意位置。
但它也存在不少缺陷:
为了使本DNS服务器和其她DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分派,普通都要将DNS刷新时间设立较小,但太小将会使DNS流量大增导致额外网络问题。
一旦某个服务器浮现故障,虽然及时修改了DNS设立,还是要等待足够时间(刷新时间)才干发挥作用,在此期间,保存了故障服务器地址客户计算机将不能正常访问服务器。
DNS负载均衡采用是简朴轮循负载算法,不能区别服务器差别,不能反映服务器当前运营状态,不能做到为性能较好服务器多分派祈求,甚至会浮现客户祈求集中在某一台服务器上状况。
要给每台服务器分派一种internet上IP地址,这势必会占用过多IP地址。
判断一种站点与否采用了DNS负载均衡最简朴方式就是持续ping这个域名,如果多次解析返回IP地址不相似话,那么这个站点就很也许采用就是较为普遍DNS负载均衡。
但也不一定,由于如果采用是DNS响应均衡,多次解析返回IP地址也也许会不相似。
不妨试试Ping一下.com,.com
现假设有三台服务器来应对.com祈求。
在采用BIND8.xDNS服务器unix系统上实现起来比较简朴,只需在该域数据记录中添加类似下面成果:
www1INA192.1.1.1
www2INA192.1.1.2
www3INA192.1.1.3
wwwINCNAMEwww1
wwwINCNAMEwww2
wwwINCNAMEwww3
在NT下实现也很简朴,下面详细简介在winserver下实现DNS负载均衡过程,NT4.0类似:
打开“管理工具”下“DNS”,进入DNS服务配备控制台。
打开相应DNS服务器“属性”,在“高档”选项卡“服务器选项”中,选中“启用循环”复选框。
此步相称于在注册表记录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters中添加一种双字节制值(dword值)RoundRobin,值为1。
打开正向搜索区域相应区域(如),新建主机添加主机(A)资源记录,记录如下:
wwwINA192.1.1.1
wwwINA192.1.1.2
wwwINA192.1.1.3
在这里可以看到区别是在NT下一种主机名相应各种IP地址记录,但在unix下,是先添加各种不同主机名分别相应个自IP地址,然后再把这些主机赋同一种别名(CNAME)来实现。
在此需要注意是,NT下本地子网优先级会取代多宿主名称循环复用,因此在测试时,如果做测试用客户机IP地址与主机资源记录IP在同一有类掩码范畴内,就需要清除在“高档”选项卡“服务器选项”中“启用netmask排序”。
NAT负载均衡
NAT(NetworkAddressTranslation网络地址转换)简朴地说就是将一种IP地址转换为另一种IP地址,普通用于未经注册内部地址与合法、已获注册InternetIP地址间进行转换。
合用于解决InternetIP地址紧张、不想让网络外部懂得内部网络构造等场合下。
每次NAT转换势必会增长NAT设备开销,但这种额外开销对于大多数网络来说都是微局限性道,除非在高带宽有大量NAT祈求网络上。
NAT负载均衡将一种外部IP地址映射为各种内部IP地址,对每次连接祈求动态地转换为一种内部服务器地址,将外部连接祈求引到转换得到地址那个服务器上,从而达到负载均衡目。
NAT负载均衡是一种比较完善负载均衡技术,起着NAT负载均衡功能设备普通处在内部服务器到外部网间网关位置,如路由器、防火墙、四层互换机、专用负载均衡器等,均衡算法也较灵活,如随机选取、至少连接数及响应时间等来分派负载。
NAT负载均衡可以通过软硬件方式来实现。
通过软件方式来实现NAT负载均衡设备往往受到带宽及系统自身解决能力限制,由于NAT比较接近网络低层,因而就可以将它集成在硬件设备中,普通这样硬件设备是第四层互换机和专用负载均衡器,第四层互换机一项重要功能就是NAT负载均衡。
下面以实例简介一下Cisco路由器NAT负载均衡配备:
既有一台有一种串行接口和一种Ethernet接口路由器,Ethernet口连接到内部网络,内部网络上有三台web服务器,但都只是低端配备,为了解决好来自Internet上大量web连接祈求,因而需要在此路由器上做NAT负载均衡配备,把发送到web服务器合法InternetIP地址报文转换成这三台服务器内部本地地址。
其详细配备过程如下:
做好路由器基本配备,并定义各个接口在做NAT时是内部还是外部接口。
然后定义一种原则访问列表(standardaccesslist),用来标记要转换合法IP地址。
再定义NAT地址池来标记内部web服务器本地地址,注意要用到核心字rotary,表白咱们要使用轮循(RoundRobin)方式从NAT地址池中取出相应IP地址来转换合法IP报文。
最后,把目的地址为访问表中IP报文转换成地址池中定义IP地址。
相应配备文献如下:
interfaceEthernet0/0
ipaddress192.168.1.4255.255.255.248
ipnatinside
!
interfaceSerial0/0
ipaddress200.200.1.1255.255.255.248
ipnatoutside
!
ipaccess-list1permit200.200.1.2
!
ipnatpoolwebsrv192.168.1.1192.168.1.3netmask255.255.255.248typerotary
ipnatinsidedestinationlist1poolwebsrv
反向代理负载均衡
普通代理方式是代理内部网络顾客访问internet上服务器连接祈求,客户端必要指定代理服务器,并将本来要直接发送到internet上服务器连接祈求发送给代理服务器解决。
反向代理(ReverseProxy)方式是指以代理服务器来接受internet上连接祈求,然后将祈求转发给内部网络上服务器,并将从服务器上得到成果返回给internet上祈求连接客户端,此时代理服务器对外就体现为一种服务器。
反向代理负载均衡技术是把将来自internet上连接祈求以反向代理方式动态地转发给内部网络上多台服务器进行解决,从而达到负载均衡目。
反向代理负载均衡能以软件方式来实现,如apachemod_proxy、netscapeproxy等,也可以在高速缓存器、负载均衡器等硬件设备上实现。
反向代理负载均衡可以将优化负载均衡方略和代理服务器高速缓存技术结合在一起,提高静态网页访问速度,提供有益性能;由于网络外部顾客不能直接访问真实服务器,具备额外安全性(同理,NAT负载均衡技术也有此长处)。
其缺陷重要体当前如下两个方面:
反向代理是处在OSI参照模型第七层应用,因此就必要为每一种应用服务专门开发一种反向代理服务器,这样就限制了反向代理负载均衡技术应用范畴,当前普通都用于对web服务器负载均衡。
针对每一次代理,代理服务器就必要打开两个连接,一种对外,一种对内,因而在并发连接祈求数量非常大时候,代理服务器负载也就非常大了,在最后裔理服务器自身会成为服务瓶颈。
普通来讲,可以用它来对连接数量不是特别大,但每次连接都需要消耗大量解决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 负载 均衡 关键技术