概述
负载均衡(Load Balance)
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
负载均衡实现方式分类
1:软件负载均衡技术
该技术适用于一些中小型网站系统,可以满足一般的均衡负载需求。软件负载均 衡技术是在一个或多个交互的网络系统中的多台服务器上安装一个或多个相应的负载均衡软件来实现的一种均衡负载技术。软件可以很方便的安装在服务器上,并且 实现一定的均衡负载功能。软件负载均衡技术配置简单、操作也方便,最重要的是成本很低。
2:硬件负载均衡技术
由于硬件负载均衡技术需要额外的增加负载均衡器,成本比较高,所以适用于流量高的大型网站系统。不过在现在较有规模的企业网、政府网站,一般来说都会部署有硬件负载均衡设备(原因1.硬件设备更稳定,2.也是合规性达标的目的)硬件负载均衡技术是在多台服务器间安装相应的负载均衡设备,也就是负载均衡器来完成均衡负载技术,与软件负载均衡技术相比,能达到更好的负载均衡效果。
3:本地负载均衡技术
本地负载均衡技术是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。
(如微软NLB网络负载均衡技术,该技术通过多台服务器上起应用完成负载均衡的实现,原理是几台服务器虚拟出一个IP地址,应用会使服务器轮循响应数据, 但是在一次安全网关的部署当中就遇到了问题,大家以后可以注意本次经验,问题简单描述如下:当外部测试PC,向虚拟IP地址发了一个ping包之后,虚拟 IP回应一个数据包,另外,实主机也均回应数据包,导致安全设备认为会话不是安全的。所以进行阻断,致使业务不正常。)
4:全局负载均衡技术(也称为广域网负载均衡)
全局负载均衡技术适用于拥有多个低于的服务器集群的大型网站系统。全局负载均衡技术是对分布在全国各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。很多大型网站都使用的这种技术。
5:链路集合负载均衡技术
链路集合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路来使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担。这种技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。
总结:
负载均衡至少有四种应用:
§ 服务器负载均衡;
§ 广域网络服务器负载均衡 ;
§ 防火墙负载均衡;
§ 透明网站加速器负载均衡。
服务器负载均衡负责将客户请求的任务分发到多台服务器,用以扩展服务能力并超出一台服务器的处理能力,并且能够使应用系统具有容错能力。
广域网络服务器负载均衡负责将客户的请求导向到不同的数据中心的服务器群中,以便为客户提供更快的响应速度和针对某一数据中心出现灾难性事故时智能的冗灾处理。
防火墙负载均衡将请求负载分发到多台防火墙,用来提高安全性能以便超出一台防火墙的处理能力。
透明网站加速器(Transparent cache)使导向流量交换到多台网站加速器中,用以卸载网站服务器的静态内容到网站加速器(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的流量处理方式,所有服务器回应的流量可以不通过bigip,这样可以大大减少bigip上流量的压力。但npath的流量处理方式不能工作在直连的模式。
5、后续系统改造时,两种模式的工作复杂程度不一样
如果对一个原先没有负载均衡技术的系统进行负载均衡技术的改造,那么,在直连情况下,需要修改服务器的ip地址同时网络结构也要做调整(将服务器调到 bigip后端),同时相关联的应用也要改动,需要进行严格的测试才能上线运行;然而,在旁路模式下,仅仅需要改动一下服务器的网关,原有系统的其它部分 (包括网络结构)基本不需要做改动,故前者对系统改动较大,后者则改动较小。
最后总结一下,相对于直连模式,旁挂模式在系统架构中的主要优点:
1、增加了网络的灵活性:F5采用旁挂的方式,则后端服务器的网关指向的为三层交换机的地址,而不是F5的地址,在对网络设备维护时可以方便的采用修改路由的方式使设备下线,便于维护管理。同时,一些特殊的应用也可在核心交换机上采用策略路由的方式指向特定的网络设备。
2、提高了网络整体的可靠性:由于旁路方式的存在,如果F5设备出现问题,可在交换机上修改路由使用数据流绕过F5,而不会对整个业务系统造成影响。
3、针对某些特殊应用,提高了速度:采用旁路的方式后,一些特定的的对速度、时延敏感的应用数据在进入和离开时可以采用不同的路径,例如:在流入时可经过F5设备,对其进行检查,负载均衡。而在该数据流离开时,则不经过F5,以提高其速度。