负载均衡实现原理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

调度算法:最少连接(Least Connections)
1 4
25
Internet
4 1
6 3
52 63
最少连接算法实现: 最少连接均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处 理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更 加符合实际情况,负载更加均衡。 最少连接算法适合长时处理的请求服务,如FTP。
– 从宏观角度,由于各核分发均衡总体效果是均衡的。微观角度,并不能保证每一个时刻各个服 务器上的连接数都是均衡的,会有一个偏差,偏差最大值:多核中用于转发的Core数,当前系 统为27。
TIP:Load Blance设备即解决业务访问量压力过大的问题。故应以大量连接情况下的均衡 效果作为评判标准。 其他算法也均建议如此察看测试效果。
解决方法——Load Balance(2) 解决方案:链路负载均衡
China Tet CNC
Internet
•通过带宽或就近性等算法,在多条链路中进行负载均衡,选择最优的链路, 提高访问速度。
负载均衡基本原理
Server Farms
Clients
Application 192.168.1.10
Load Blance to Server:
Ping
健康性检查算法的目的:
通过某种探针机制,检查服务器群中真实服 务器的健康情况,避免把客户端的请求分发 给出现故障的服务器,以提高业务的HA能力。
目前常用的健康性检查算法: Ping(ICMP) TCP HTTP
检测都会向服务器 GET一个文件,如 果GET文件失败, 也认为服务器不可
注意事项——轮转算法
• 注意:少量连接效果不均衡,大量连接效果均衡! • 原因:
1. Load Blance设备是多核CPU,算法设计实现也基于该基础。 2. 多核中的实现:
– 为了避免多核中同时对一个资源实体进行调度出现资源竞争问题,算法处理过程中将多核看作 多个设备,每个核独立运行算法,独立保存算法所需上下文环境。
为什么需要负载均衡 ?
应用背景 访问流量快速增长 业务量不断提高
Internet Server Too Busy
用户需求 Server Too Busy 希望获得7×24的不间断
可用性及较快的系统反 应时间
Client
Link Too Busy
Internet
应用背景 访问流量快速增长 业务量不断提高
用。
FTP
DNS(inbound 链路负载均衡)
TCP SYN
SYN ACK ?TCP RST
TCP SYN Reassign
(Retransmissi
on)
HTTP GET
HTTP GET
目录
负载均衡基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网及应用
实服务组a 实服务组b
实服务a 实服务b 实服务c 实服务d 实服务e 实服务f
2.实服务:实服务是真实服务器提供的一种服务, 该服务意义比较广泛,可以是传统的FTP、HTTP 等业务应用,也可以是广义的转发服务,如防火 墙负载均衡中,实服务只是报文转发路径,实服 务只是转发服务。
3.实服务组:为了便于对多个实服务进行管理, 将多个实服务的一些共有属性提取出来形成了 实服务组。一个虚服务对应一个实服务组,一 个实服务组对应多个实服务。相同的实服务组
Application 192.168.1.12
目前常用的调度算法:
负载均衡产品中的关键指标:调度算法
轮询(Round Robin) 加权轮询(Weighted Round Robin) 最少连接(Least Connections) 加权最少连接(Weighted Least Connections) 随机(Random) 加权随机(Weighted Random) 源地址散列(Source Hashing) 源地址端口散列(Source&Port Hashing) 目的地址散列(Destination Hashing)
• DR方式(Direct Routing ):通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服 务器将响应直接返回给客户 ;
• 防火墙转发方式(Direct Routing ):与DR方式处理类似,改写请求报文的目的MAC地址,分发到 不同的防火墙出路,回应走正常的转发处理。
NAT方式服务器负载均衡原理
不能属于不同的虚服务。
服务器型负载均衡转发方式
服务器负载均衡是数据中心最常见的组网模型。依据转发方式,分为NAT方 式、DR方式。
• NAT方式(Network Address Translation ):利用NAT 技术将Clinet 请求报文目的地址转换为真实 服务器地址,发给真实服务器,并将Server应答报文源地址转换为虚服务IP地址,发给客户端;
Load Balancer
Application 192.168.1.11
Server to Client:: Source IP = 192.168.1.10
VIP: 6.6.6.100 Destination = 4.3.2.1
调度算法 根据配置规则,将客户端请求智能地分发到后端应用服务器 健康性检查算法 实时监控服务器运行状态
Source IP = 4.3.2.1
Client’s Request:
Destination = 192.168.1.10
Client IP: 4.3.2.1 Source IP = 4.3.2.1
Destination = VIP - 6.6.6.100
wenku.baidu.com
Load Blance to Client: Source IP = VIP - 6.6.6.100 Destination = 4.3.2.1
服务器负载均衡基本原理——基本概念
1.虚服务:负载均衡设备对外提供的服务称为虚 服务。虚服务由VPN实例、虚拟服务IP地址、服 务协议、服务端口号唯一标识,配置在负载均 衡设备上。客户访问请求通过公共或私有网络 到达负载均衡设备,匹配到虚服务后,由负载 均衡设备按照既定策略分发给真实服务。
虚服务a 虚服务b
加权最少连接算法实现: 将加权与最少连接算法配合,根据连接数与加权比例后计算出当前新连接应该发往哪个服务器。
调度算法:随机(Random)
1 4
25
Internet
6 3
5 2
1
4 3
6
随机算法实现: 将新连接随机分发给具体的实服务器。
加权随机算法实现: 将加权与随机算法配合,根据随机数与加权比例后计算出当前新连接应该发往哪个服务器。
• 【实服务变化响应】 • 在使用源地址散列算法进行实服务调度的时候,由于算法本身就是将来自某个源IP的连接分
配到一个散列表中固定的位置,因此在实服务故障(实服务删除或者健康检测结果为不可 用)的时候,就会使源IP标识的客户端后续连接中断。为了提高虚服务的可靠性,在使用源 地址散列进行实服务调度的时候,算法会响应实服务变化,把原本属于该故障实服务的源 地址连接分配给其他的可用的实服务,不影响之前可用实服务与源地址之间的映射关系。 后续恢复的实服务按顺序添加到对应的空位上。
调度算法:源地址散列(Source Hashing)
1 4
25
Internet
6 3
2 5
1 4
3 6
源地址散列算法实现: 根据新连接的源IP地址进行散列(HASH)的结果来决定将该新连接发文哪个实服务器。 一般来说,来自相同客户端的新连接会被散列到相同的实服务器。
负载均衡产品中的关键指标:健康性检查算法
防火墙方式工作流程
Cluster
Firewall A
Host A
IP network
LB Device A
LB Device B
IP network
Host B
Firewall B
实现原理: 防火墙是基于会话开展业务的,即一个会话的请求和应答报文必须通过同一个防火墙。为了既能保证防
火墙业务正常进行,内部组网不受影响,需要采用双侧防火墙,即防火墙三明治。在这种组网环境中,对于 流入流量,外侧Load Blance设备做防火墙负载均衡,内侧Load Blance设备保证从哪个防火墙进来的流量 ,还要从这个防火墙返回。流出流量正好相反。
服务器型负载均衡和防火墙型负载均衡融合
Cluster A
Firewall A
LB Device A
IP network
LB Device B VIP
Firewall B
Cluster B Server A
IP A
Server B IP B
Server C IP C
图中Cluster A为防火墙负载均衡的群组,Cluster B为NAT方式服务器负载均衡的群组。综合组网的 工作流程就是防火墙、服务器负载均衡流程的叠加。这样的组网方式既避免了防火墙成为网络中的瓶颈, 也提高了各种网络服务(如HTTP、FTP)的性能和可用性。
调度算法:加权轮询(Weighted Round Robin)
1 4
25
Internet
6 3
1
24 3 5 6
加权轮询算法实现: 根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请 求。假设3台服务器加权分别为2:5:3,这样6条流过来,第1台服务器分担1条流,第2台服务器分 担3条流,第3台服务器分担2条流。 加权轮询算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。
用户需求 希望获得7×24的不间断
可用性及较快的系统反 应时间
解决方法——Load Balance(1) 解决方案:服务器负载均衡
Internet
多台服务器组成一个群组,它们通过网络设备相连接。这些服务器提供相同或相似的网络服务。 服务器群组前布局一个负载均衡设备,负责根据已配置均衡策略将用户请求在服务器群组中的分发, 为用户提供服务,并对服务器可用性的维护。
注意事项——地址散列算法(1)
• 算法思想 – 通过一个散列(Hash)函数将来自同一个源IP的请求映射到一台服务器。
• 适用场景: – 需要保证来自同一个用户的请求分发到同一个服务器情况下。 实现: 实服务组中的实服务存放在一个散列表(这个散列表是一个数组)中。存在一 个散列函数y=f(x),
x为散列键,f为散列函数,y是得出的散列表中的某个位置。当一个请求到达并选择实服务的时候,将 请求报文的源IP作为散列键得出一个散列表中的位置标号,从而找到要调度的实服务。
调度算法:轮询(Round Robin)
1 4
25
Internet
6 3
1 4
2 5
3 6
轮询算法实现: 新的连接被依次轮询分发到各个实服务器上,比如第1个连接分发到第1台服务器,第2个连接就 被分配到第2台服务器上,依次轮询。 轮询算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情 况。
负载均衡实现原理
1
2020/11/26
课程目标 学习完本课程,您应该能够:
Load Blance的基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网
目录
负载均衡基本原理 Load Blance服务器负载均衡原理 Load Blance链路负载均衡原理 Load Blance典型组网及应用
实现原理: 客户端将请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,通
过调度算法,选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后, 将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为 虚服务的VSIP,再返回给客户,完成整个负载调度过程。
实服务选择流程
前提:命中虚服务
First step
持续性
Second step
调度算法
• 一次业务交互可能包括多个连接,有些存在隐含的关联关系,将多个连接持续重定向到同一个服务 器的策略,就是持续性功能。
• 如HTTP 网络购物,多条连接组成一次业务应用,但所有该业务的请求应发给同一服务器, 否则可能 造成无法完成所请求的功能,可采用基于源地址的持续性功能完成。
DR方式服务器负载均衡原理
实现原理: DR方式主要用于旁挂模式,除了Load Blance设备上配置了VSIP,真实服务器也都配置了VSIP址,
但不响应ARP,可通过配置为loopback地址达到。真实服务器的标识为非VSIP的和Load Blance出接 口在同一个网段内的IP,发送给VSIP的报文,由Load Blance分发给相应的真实服务器,从真实服务器 返回给客户端的报文直接通过交换机返回。这种方式组网对服务器有配置要求。
相关文档
最新文档