1. 简介
传统的web架构中,用户通过网络访问服务器,服务器再访问数据库并将响应信息返回给客户端这样的web架构比较简单,但是有两个缺点:一旦服务器出现故障,则用户就不能访问;如果访问服务器的用户数量激增,会给服务器造成巨大压力。
因此,我们可以提供多个服务器,将他们通过网络连接起来,形成一个逻辑上的服务器,负载均衡服务器负责将用户的请求均匀的分配到各个服务器。
2. 优势
高性能: 负载均衡技术将业务较均衡的分担到多台设备或链路上,提高了系统的性能。
可扩展性: 负载均衡技术可以方便的增加集群中设备或者链路的数量,从而在不降低业务质量的情况下满足不断增长的业务需求。
高可靠性: 单个甚至多个设备或者链路发生故障也不会影响业务中断,提高系统可用性。
可管理性: 大量的管理都集中在使用负载均衡技术的设备上,设备集群或链路集群只需要维护通过的配置即可。
透明性: 集群对用户而言是感受不到的。
3. 分类
负载均衡分为几类:服务器负载均衡,链路负载均衡,防火墙负载均衡。
服务器负载均衡
多台服务器通过网络连成一个集群,每台服务器都提供相同或者相似的服务。在服务器的前端配置一个负载均衡服务器,这样,负载均衡服务器就可以根据一定的策略将用户的请求映射到不同的服务器。
优点:低成本;可扩展;高可靠性链路负载均衡
就互联网接入来说,众所周知,由于国内的两大运营商—电信与网通之间的瓶颈问题,导致电信网通用户互访时出现延迟较,响应缓慢,更有甚者会直接导致用户正常的业务无法运行。而且单条链路存在单点故障的隐患,当互联网链路DOWD掉时,可能引起的直接问题就是用户所有依赖互联网的业务及对互联网的访问都会因此而无法使用,这对于一个用户来说是无法想象的。
通过接入电信联通两条或者多条连接链路来保障网络的连通性,持续性以及快速访问。并提供各链路间的智能备份,实现链路级别的快速高可用。
网关负载均衡
SSL-VPN网关,IPSec网关,防火墙网关等网关设备,因为业务处理的复杂性,往往成为网络瓶颈,以防火墙网关为例:防火墙作为网络部署的“警卫”,在网络中不可或缺,但其往往不得不面临这样的尴尬:网络防卫越严格,需要越仔细盘查过往的报文,从而导致转发性能越低,成为网络瓶颈。在这种情况,如果废弃现有设备去做大量的硬件升级,必将造成资源浪费,随着业务量的不断提升,设备也将频繁升级。频繁升级的高成本是相当可怕的。因此将网关设备等同于服务器,组建网关集群的方案应运而生:将多个网关设备并联到网络中,从而形成集群处理能力,提高网络处理能力。
防火墙负载均衡包括以下几个基本元素:(1) 集群:提供网络流量负载均衡的群体,包括LB、Fireall;(2) LB:负责分发请求发起方的网络流量到多台Firewall设备,LB又分为一级和二级,如果请求发起方的流量方向为Host A-àHost B,则LB A为一级,LB B为二级;方向类似;(3) Firewall:正常处理数据的防火墙。
4. 负载均衡调度算法
负载均衡的关键技术是调度,常见的调度算法有:轮询,加权轮询,最少连接,加权最少连接,随机,加权随机,原地址散列,原地址端口散列等。
轮询
新的连接依次被轮询的分发给各个实服务上,例如:第1个
连接分发到第1台服务器上,第2个连接分发到第2台服务器上,第3个连接分发到第三台服务器上。
轮询算法适合服务器都有相同的软硬件配置,并且平均服务器请求相对均衡的情况。
加权轮询算法
根据不同的服务器的不同处理能力,给服务器分配不同的权值,让服务器接受相应权值的服务器请求。
加权轮询算法能够保证高性能的服务器能得到更多的使用率,避免低性能的服务器负载过重。
最小连接数算法
最少连接数算法需要负载的每一个服务器都有一个记录,该记录中包含当前服务器的连接数,当有新的服务连接请求时,把请求分发给连接数最少的服务器,使均衡更加符合实际情况,负载更具啊均衡;
最少连接数算法适合长时间处理的请求,例如:FTP。
加权最少连接数算法,即将加权与连接数配合使用,根据连接数与加权的比例计算出当前请求应该分发给哪个具体的服务器;
随机算法
将新连接请求随机分发给各个服务器;
加权随机算法,即将加权与随机算法配合使用,根据随机数与加权的比例计算出当前请求应该分发给哪个具体的服务器;
源地址散列
根据新连接请求的源IP地址的散列结果,选择对应的服务器来处理请求。
来自相同客户端的连接被分发到相同的服务器上。
持续性
将多个连接持续重定向到同一个服务器的策略,就是持续性功能。根据持续性原则,建立会话表项,保证后续业务报文都送往同一个服务器处理。比如使用源地址建立持续性表项,保证持续性。
基于源IP地址的持续性功能:负载均衡设备接收到某一客户端的某一业务的首次请求时,建立持续性表项,记录为该客户分配的服务器情况,在会话表项生存周期内,后续该业务报文都将发往该服务器处理。基于源IP地址持续性功能的特点是:实现简洁快速。
Cookies保持Cookies持续性利用客户机存储的cookies信息来吧客户机连接到合适的服务器上,其原理如下:
(1)首次命中Http请求(不带cookes)进行LB,此时LB任选一台服务器,将请求转发至该服务器;
(2) 来自该服务器的Http回复报文此时包括一个空白的cookies,LB重写cookies,并再粘贴一个特殊的cookies后将http报文发送回去;
(3) 再次命中Http请求(带有与上面形相同的cookies)进入LB,LB设备借助cookies信息确定合适的服务器;
服务器负载均衡技术介绍
概念
虚服务:负载均衡设备对外提供的服务称为虚服务,虚服务由VPN实例,虚服务IP地址、服务协议、服务端口号唯一标识,配置负载均衡设备上,客户的访问请求通过公关网络或私有网络到达负载均衡设备时,匹配到虚服务后,由负载均衡设备按照既定的策略分发给实服务;
实服务:实服务器是真实服务器提供一种服务,该服务含义比较广泛,可以是传统的FTP,HTTP等业务,也可以是广泛的转发服务,如防火墙网关负载均衡中,实服务只是报文的转发路径;
实服务组:为了便于对实服务进行管理,将多个实服务的一些共有属性提取出来形成实服务组,一个虚服务对应一个实服务组,一个实服务组对应多个实服务,相同的实服务组不能属于不同的虚服务;
服务器负载均衡工作机制
服务器负载均衡有两种工作方式:
- NAT(Network Address Translation,网络地址转换)方式
- 直接路由(DirectRouting,简称DR)方式
(1)NAT方式NAT方式组网灵活,后端服务器可以位于不同的物理位置,不同的
局域网内。
1、实现原理
客户端将到VSIP的请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,通过调度算法,选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户,完成整个负载调度过程。
2、技术特点
组网灵活,对服务器没有额外要求,不需要修改服务器配置,适用于各种组网。
(2)DR方式相对于NAT 组网方式,DR 组网方式,只有客户端的请求报文通过LB,服务器的响应报文不经过LB,从而减少了LB的负载,有效的避免了LB成为网络瓶颈。
1、实现原理
DR方式的服务器负载均衡时,除了LB设备上配置了VSIP,真实服务器也都配置了VSIP址,配置的VSIP要求不能响应ARP请求,例如在环回接口上配置VSIP。发送给VSIP的报文,由LB分发给相应的真实服务器,从真实服务器返回给客户端的报文直接通过交换机返回。
2、技术特点
只有单边报文经过负载均衡设备,负载均衡设备负担小,不易成为瓶颈,转发性能更强。
服务器状态检查
所谓状态检查就是指负载均衡设备定期对真实服务器运行状态进行探测,收集相应信息,及时隔离工作异常的服务器。健康检查的结果除标识服务器能否正常工作外,还可以统计出服务器影响时间,作为选择服务器的依据。负载均衡技术支持丰富的健康状态检查算法,可以有效地探测和检查服务器的运行状态。
ICMP:向服务器发送ICMPEcho报文,若收到ICMP Reply,则服务器正常;
TCP:向服务器的某端口建立TCP连接,若成功,则服务器正常;
HTTP:和服务器的80端口建立TCP连接,然后发出HTTP请求,若所收到的HTTP应答内容争取,则服务器正常;
FTP:和服务器21端口建立连接,然后获取一个服务器相关目录放置的文件,若所收到的文件内容正确,则服务器正常;