详细说明看官网:https://support.huaweicloud.com/productdesc-elb/elb_pro_0007.html
概述
弹性负载均衡(Elastic Load Balance,ELB)是将访问流量根据转发策略分发到 后端多台弹性云服务器 的 流量分发控制服务,可以通过流量分发扩展应用系统对外的服务能力,提高应用程序的容错能力,通过消除单点故障提升应用系统的可用性。
- 弹性负载均衡将访问流量分发到后端三台应用服务器,每个应用服务器只需分担三分之一的访问请求。同时,结合健康检查功能,流量只分发到后端正常工作的服务器,从而提升了应用系统的可用性。
弹性负载均衡的组件
由以下3部分组成:
- 负载均衡器:接受来自客户端的传入流量并将请求转发到一个或多个可用区中的后端服务器。
- 监听器:可以向弹性负载均衡器添加一个或多个监听器。监听器使用配置的协议和端口检查来自客户端的连接请求,并根据您定义的分配策略和转发策略将请求转发到一个后端服务器组里的后端服务器。
- 后端服务器:每个监听器会绑定一个后端服务器组,后端服务器组中可以添加一个或多个后端服务器。后端服务器组使用您指定的协议和端口号将请求转发到一个或多个后端服务器。
如下图所示:
弹性负载均衡的类型
弹性负载均衡分为:
- 独享型负载均衡:独享型负载均衡实例资源独享,实例的性能不受其它实例的影响
- 共享型负载均衡:属于集群部署,实例资源共享,实例的性能会受其它实例的影响,不支持选择实例规格。共享型负载均衡就是原增强型负载均衡。
弹性负载均衡是如何工作的
其工作图如下:
- 客户端向您的应用程序发出请求。
- 负载均衡器中的监听器接收与您配置的协议和端口匹配的请求。
- 监听器再根据您的配置将请求转发至相应的后端服务器组。如果配置了转发策略,监听器会根据您配置的转发策略评估传入的请求,如果匹配,请求将被转发至相应的后端服务器组。
- 后端服务器组中健康检查正常的后端服务器将根据分配策略和您在监听器中配置的转发策略的路由规则接收流量,处理流量并返回客户端。
分配策略类型
独享型负载均衡支持
- 加权轮询算法、
- 加权最少连接、
- 源IP算法、
- 连接ID算法,
共享型负载均衡支持
- 加权轮询算法、
- 加权最少连接、
- 源IP算法。
加权轮询算法
根据后端服务器的权重,按顺序依次将请求分发给不同的服务器
权重表示服务器的处理性能
,按照权重的高低以及轮询方式将请求分配给各服务器,权重大的后端服务器被分配的概率高
。
相同权重的服务器处理相同数目的连接数。
常用于短连接服务
,例如HTTP等服务。
假设可用区内有2台权重相同的后端服务器,负载均衡器节点会将50%的客户端流量分发到其可用区中的每一台后端服务器,如下图所示
加权最少连接
最少连接是通过当前活跃的连接数
来估计服务器负载情况的一种动态调度算法
加权最少连接就是在最少连接数的基础上,根据服务器的不同处理能力
,给每个服务器分配不同的权重
,使其能够接受相应权值数的服务请求。
常用于长连接服务
,例如数据库连接等服务。
假设可用区内有2台权重相同的后端服务器,ECS 01已有100个连接,ECS 02已有50个连接,则新的连接会优先分配到ECS 02上。如下图所示
源IP算法
将请求的源IP地址进行一致性Hash运算
,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。
以使得对不同源IP的访问进行负载分发
,同时使得同一个客户端IP的请求始终被派发至某特定的服务器。
该方式适合负载均衡无cookie功能的TCP协议
。
假设可用区内有2台权重相同的后端服务器,ECS 01已经处理了一个IP-A的请求,则IP-A新发起的请求会自动分配到ECS 01上。如下图所示
连接ID算法
利用报文里的连接ID字段进行一致性hash算法
,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。
使得对不同连接ID的访问进行负载分发,同时使得同一个连接ID的请求始终被派发至某特定的服务器。
该方式适合于负载均衡QUIC协议应用的报文流
。
注:当前仅独享型负载均衡支持连接ID算法。
假设可用区内有2台权重相同的后端服务器,ECS 01已经处理了一个客户端A的请求,则客户端A的新发起的请求会自动分配到ECS 01上。如下图所示
影响负载均衡的因素
影响负载均衡分配的因素包括分配策略、会话保持、长连接、权重等
。换言之,最终是否均匀分配不仅与分配策略相关,还与使用的长短连接、后端的性能负载等相关