负载均衡实现原理讲解

上传人:.** 文档编号:54585747 上传时间:2018-09-15 格式:PPT 页数:41 大小:2.01MB
返回 下载 相关 举报
负载均衡实现原理讲解_第1页
第1页 / 共41页
负载均衡实现原理讲解_第2页
第2页 / 共41页
负载均衡实现原理讲解_第3页
第3页 / 共41页
负载均衡实现原理讲解_第4页
第4页 / 共41页
负载均衡实现原理讲解_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《负载均衡实现原理讲解》由会员分享,可在线阅读,更多相关《负载均衡实现原理讲解(41页珍藏版)》请在金锄头文库上搜索。

1、Load Blance培训胶片,Load Blance的基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网,课程目标,学习完本课程,您应该能够:,负载均衡基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网及应用,目录,为什么需要负载均衡 ?,Link Too Busy,Internet,应用背景 访问流量快速增长 业务量不断提高用户需求 希望获得724的不间断可用性及较快的系统反应时间,Client,Server Too Busy,Internet,解

2、决方案:服务器负载均衡,多台服务器组成一个群组,它们通过网络设备相连接。这些服务器提供相同或相似的网络服务。服务器群组前布局一个负载均衡设备,负责根据已配置均衡策略将用户请求在服务器群组中的分发,为用户提供服务,并对服务器可用性的维护。,解决方法Load Balance(1),Internet,解决方案:链路负载均衡,通过带宽或就近性等算法,在多条链路中进行负载均衡,选择最优的链路, 提高访问速度。,China Tet,CNC,解决方法Load Balance(2),负载均衡基本原理,调度算法根据配置规则,将客户端请求智能地分发到后端应用服务器 健康性检查算法实时监控服务器运行状态,Appli

3、cation 192.168.1.12,Application 192.168.1.11,Application 192.168.1.10,Clients,Load Balancer,Server Farms,Client IP: 4.3.2.1,Clients Request: Source IP = 4.3.2.1 Destination = VIP - 6.6.6.100,VIP: 6.6.6.100,Load Blance to Client: Source IP = VIP - 6.6.6.100 Destination = 4.3.2.1,Load Blance to Server

4、: Source IP = 4.3.2.1 Destination = 192.168.1.10,Server to Client: Source IP = 192.168.1.10 Destination = 4.3.2.1,负载均衡产品中的关键指标:调度算法,目前常用的调度算法: 轮询(Round Robin) 加权轮询(Weighted Round Robin) 最少连接(Least Connections) 加权最少连接(Weighted Least Connections) 随机(Random) 加权随机(Weighted Random) 源地址散列(Source Hashing)

5、源地址端口散列(Source&Port Hashing) 目的地址散列(Destination Hashing),调度算法:轮询(Round Robin),轮询算法实现: 新的连接被依次轮询分发到各个实服务器上,比如第1个连接分发到第1台服务器,第2个连接就被分配到第2台服务器上,依次轮询。 轮询算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。,调度算法:加权轮询(Weighted Round Robin),加权轮询算法实现: 根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。假设3台服务器加权分别为2:5:3,这样6条

6、流过来,第1台服务器分担1条流,第2台服务器分担3条流,第3台服务器分担2条流。 加权轮询算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。,调度算法:最少连接(Least Connections),最少连接算法实现: 最少连接均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。 最少连接算法适合长时处理的请求服务,如FTP。加权最少连接算法实现: 将加权与最少连接算法配合,根据连接数与加权比例后计算出当前新连接应该发往哪个服务器。,调度

7、算法:随机(Random),随机算法实现: 将新连接随机分发给具体的实服务器。加权随机算法实现: 将加权与随机算法配合,根据随机数与加权比例后计算出当前新连接应该发往哪个服务器。,调度算法:源地址散列(Source Hashing),源地址散列算法实现: 根据新连接的源IP地址进行散列(HASH)的结果来决定将该新连接发文哪个实服务器。 一般来说,来自相同客户端的新连接会被散列到相同的实服务器。,Internet,2,1,3,5,4,6,1,4,2,5,3,6,负载均衡产品中的关键指标:健康性检查算法,健康性检查算法的目的: 通过某种探针机制,检查服务器群中真实服务器的健康情况,避免把客户端的

8、请求分发给出现故障的服务器,以提高业务的HA能力。 目前常用的健康性检查算法: Ping(ICMP) TCP HTTP FTP DNS(inbound 链路负载均衡),负载均衡基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网及应用,目录,服务器负载均衡基本原理基本概念,3.实服务组:为了便于对多个实服务进行管理,将多个实服务的一些共有属性提取出来形成了实服务组。一个虚服务对应一个实服务组,一个实服务组对应多个实服务。相同的实服务组不能属于不同的虚服务。,1.虚服务:负载均衡设备对外提供的服务称为虚服务。虚服务由VPN实例

9、、虚拟服务IP地址、服务协议、服务端口号唯一标识,配置在负载均衡设备上。客户访问请求通过公共或私有网络到达负载均衡设备,匹配到虚服务后,由负载均衡设备按照既定策略分发给真实服务。,2.实服务:实服务是真实服务器提供的一种服务,该服务意义比较广泛,可以是传统的FTP、HTTP等业务应用,也可以是广义的转发服务,如防火墙负载均衡中,实服务只是报文转发路径,实服务只是转发服务。,服务器型负载均衡转发方式,服务器负载均衡是数据中心最常见的组网模型。依据转发方式,分为NAT方 式、DR方式。,NAT方式(Network Address Translation ):利用NAT 技术将Clinet 请求报文

10、目的地址转换为真实服务器地址,发给真实服务器,并将Server应答报文源地址转换为虚服务IP地址,发给客户端;DR方式(Direct Routing ):通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户 ;防火墙转发方式(Direct Routing ):与DR方式处理类似,改写请求报文的目的MAC地址,分发到不同的防火墙出路,回应走正常的转发处理。,NAT方式服务器负载均衡原理,实现原理:客户端将请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,通过调度算法,选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标

11、地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户,完成整个负载调度过程。,DR方式服务器负载均衡原理,实现原理:DR方式主要用于旁挂模式,除了Load Blance设备上配置了VSIP,真实服务器也都配置了VSIP址,但不响应ARP,可通过配置为loopback地址达到。真实服务器的标识为非VSIP的和Load Blance出接口在同一个网段内的IP,发送给VSIP的报文,由Load Blance分发给相应的真实服务器,从真实服务器返回给客户端的报文直接通过交换机返回。这种方式组网对服务器有配置要求。,防火墙方式工

12、作流程,实现原理:防火墙是基于会话开展业务的,即一个会话的请求和应答报文必须通过同一个防火墙。为了既能保证防火墙业务正常进行,内部组网不受影响,需要采用双侧防火墙,即防火墙三明治。在这种组网环境中,对于流入流量,外侧Load Blance设备做防火墙负载均衡,内侧Load Blance设备保证从哪个防火墙进来的流量,还要从这个防火墙返回。流出流量正好相反。,服务器型负载均衡和防火墙型负载均衡融合,图中Cluster A为防火墙负载均衡的群组,Cluster B为NAT方式服务器负载均衡的群组。综合组网的工作流程就是防火墙、服务器负载均衡流程的叠加。这样的组网方式既避免了防火墙成为网络中的瓶颈,

13、也提高了各种网络服务(如HTTP、FTP)的性能和可用性。,实服务选择流程,前提:命中虚服务,一次业务交互可能包括多个连接,有些存在隐含的关联关系,将多个连接持续重定向到同一个服务器的策略,就是持续性功能。如HTTP 网络购物,多条连接组成一次业务应用,但所有该业务的请求应发给同一服务器, 否则可能造成无法完成所请求的功能,可采用基于源地址的持续性功能完成。,注意事项轮转算法,注意:少量连接效果不均衡,大量连接效果均衡!原因:1. Load Blance设备是多核CPU,算法设计实现也基于该基础。2. 多核中的实现: 为了避免多核中同时对一个资源实体进行调度出现资源竞争问题,算法处理过程中将多

14、核看作多个设备,每个核独立运行算法,独立保存算法所需上下文环境。 从宏观角度,由于各核分发均衡总体效果是均衡的。微观角度,并不能保证每一个时刻各个服务器上的连接数都是均衡的,会有一个偏差,偏差最大值:多核中用于转发的Core数,当前系统为27。,TIP:Load Blance设备即解决业务访问量压力过大的问题。故应以大量连接情况下的均衡效果作为评判标准。其他算法也均建议如此察看测试效果。,注意事项地址散列算法(1),算法思想 通过一个散列(Hash)函数将来自同一个源IP的请求映射到一台服务器。 适用场景: 需要保证来自同一个用户的请求分发到同一个服务器情况下。 实现:实服务组中的实服务存放在

15、一个散列表(这个散列表是一个数组)中。存在一 个散列函数y=f(x),x为散列键,f为散列函数,y是得出的散列表中的某个位置。当一个请求到达并选择实服务的时候,将请求报文的源IP作为散列键得出一个散列表中的位置标号,从而找到要调度的实服务。 【实服务变化响应】 在使用源地址散列算法进行实服务调度的时候,由于算法本身就是将来自某个源IP的连接分配到一个散列表中固定的位置,因此在实服务故障(实服务删除或者健康检测结果为不可用)的时候,就会使源IP标识的客户端后续连接中断。为了提高虚服务的可靠性,在使用源地址散列进行实服务调度的时候,算法会响应实服务变化,把原本属于该故障实服务的源地址连接分配给其他

16、的可用的实服务,不影响之前可用实服务与源地址之间的映射关系。后续恢复的实服务按顺序添加到对应的空位上。,注意事项地址散列算法(2),注意事项虚地址 Ping,为什么要Ping虚地址?调试手段对Nat, DR, 防火墙模式:如果虚服务配置协议任意/端口任意,则Ping回应由实服务应答。(命中虚服务) 如果虚服务未配置协议任意/端口任意,则Ping回应由Load Blance应答。(命中虚地址,未命中虚服务) 原则:使Ping都能够做应答,在调试的时候更友好。,服务器负载均衡支持的健康检测,支持的健康检测类型TCPICMPHTTP(可检查返回内容)FTP,注意:TCP探测类型,目的端口号在实服务中配置,如未配置端口则实服务状态永不健康。 关联健康检测:服务的提供不仅依赖于实服务自身,还需要其他关联的服务器配合才能完成 整个业务,此时需要配置关联健康检测。在实服务页面配置,探测类型与实服务 相同。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 服务器

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号