如何实现负载均衡

弹性负载均衡是如何工作的

ELB工作原理图

弹性负载均衡的工作原理如下

1、客户端向您的应用程序发出请求。

2、负载均衡器中的监听器接收与您配置的协议和端口匹配的请求。

3、监听器再根据您的配置将请求转发至相应的后端服务器组。如果配置了转发策略,监听器会根据您配置的转发策略评估传入的请求,如果匹配,请求将被转发至相应的后端服务器组。

4、后端服务器组中健康检查正常的后端服务器将根据分配策略和您在监听器中配置的转发策略的路由规则接收流量,处理流量并返回客户端。

请求的流量分发与负载均衡器所绑定的监听器配置的转发策略和后端服务器组配置的分配策略类型相关。

分配策略类型

独享型负载均衡支持加权轮询算法、加权最少连接、源IP算法、连接ID算法,共享型负载均衡支持加权轮询算法、加权最少连接、源IP算法。

加权轮询算法:根据后端服务器的权重,按顺序依次将请求分发给不同的服务器。它用相应的权重表示服务器的处理性能,按照权重的高低以及轮询方式将请求分配给各服务器,权重大的后端服务器被分配的概率高。相同权重的服务器处理相同数目的连接数。常用于短连接服务,例如HTTP等服务。

弹性负载均衡器使用加权轮询算法的流量分发流程。假设可用区内有2台权重相同的后端服务器,负载均衡器节点会将50%的客户端流量分发到其可用区中的每一台后端服务器。

加权最少连接:最少连接是通过当前活跃的连接数来估计服务器负载情况的一种动态调度算法。加权最少连接就是在最少连接数的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权重,使其能够接受相应权值数的服务请求。常用于长连接服务,例如数据库连接等服务。

弹性负载均衡器使用加权最少连接算法的流量分发流程。假设可用区内有2台权重相同的后端服务器,ECS 01已有100个连接,ECS 02已有50个连接,则新的连接会优先分配到ECS 02上。

源IP算法:将请求的源IP地址进行一致性Hash运算,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个客户端IP的请求始终被派发至某特定的服务器。该方式适合负载均衡无cookie功能的TCP协议。

弹性负载均衡器使用源IP算法的流量分发流程。假设可用区内有2台权重相同的后端服务器,ECS 01已经处理了一个IP-A的请求,则IP-A新发起的请求会自动分配到ECS 01上。

连接ID算法:利用报文里的连接ID字段进行一致性hash算法,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同连接ID的访问进行负载分发,同时使得同一个连接ID的请求始终被派发至某特定的服务器。该方式适合于负载均衡QUIC协议应用的报文流。

说明:当前仅独享型负载均衡支持连接ID算法。

弹性负载均衡器使用连接ID算法的流量分发流程。假设可用区内有2台权重相同的后端服务器,ECS 01已经处理了一个客户端A的请求,则客户端A的新发起的请求会自动分配到ECS 01上。

影响负载均衡的因素

一般情况下,影响负载均衡分配的因素包括分配策略、会话保持、长连接、权重等。换言之,最终是否均匀分配不仅与分配策略相关,还与使用的长短连接、后端的性能负载等相关。

假设可用区内有2台权重相同且不为0的后端服务器,流量分配策略选择“加权最少连接”,未开启会话保持,ECS 01已有100个连接,ECS 02已有50个连接。

如果有客户端A使用长连接访问了ECS 01,长连接未断开期间,客户端A的业务流量将持续转发到ECS 01,其他客户端的业务流量则根据分配策略优先分配到ECS 02。

说明:后端服务器健康检查异常或权重设置为0时,ELB不会转发业务流量到该后端服务器。

配置流量分配策略请参考流量分配策略

检查请求不均衡请参考如何检查请求不均衡?

如何实现负载均衡

弹性负载均衡搭建

入门流程-基础版

入门流程-进阶版

弹性负载均衡应用场景

  • 使用ELB为高访问量业务进行流量分发

    对于业务量访问较大的业务,可以通过ELB设置相应的分配策略,将访问量均匀的分到多个后端服务器处理。例如大型门户网站,移动应用市场等。

    同时您还可以开启会话保持功能,保证同一个客户请求转发到同一个后端服务器。从而提升访问效率。

  • 使用ELB和AS为潮汐业务弹性分发流量

    对于存在潮汐效应的业务,结合弹性伸缩服务,随着业务量的增长和收缩,弹性伸缩服务自动增加或者减少的ECS实例,可以自动添加到ELB的后端云服务器组或者从ELB的后端云服务器组移除。负载均衡实例会根据流量分发、健康检查等策略灵活使用ECS实例资源,在资源弹性的基础上大大提高资源可用性。

  • 使用ELB消除单点故障

    对可靠性有较高要求的业务,可以在负载均衡器上添加多个后端云服务器。负载均衡器会通过健康检查及时发现并屏蔽有故障的云服务器,并将流量转发到其他正常运行的后端云服务器,确保业务不中断。

    例如官网,计费业务,Web业务等。

  • 使用ELB跨可用区特性实现业务容灾部署

    对可靠性和容灾有很高要求的业务,弹性负载均衡可将流量跨可用区进行分发,建立实时的业务容灾部署。即使出现某个可用区网络故障,负载均衡器仍可将流量转发到其他可用区的后端云服务器进行处理。

    例如银行业务,警务业务,大型应用系统等。

弹性负载均衡帮助文档

活动规则

活动对象:华为云电销客户及渠道伙伴客户可参与消费满送活动,其他客户参与前请咨询客户经理

活动时间: 2020年8月12日-2020年9月11日

活动期间,华为云用户通过活动页面购买云服务,或使用上云礼包优惠券在华为云官网新购云服务,累计新购实付付费金额达到一定额度,可兑换相应的实物礼品。活动优惠券可在本活动页面中“上云礼包”等方式获取,在华为云官网直接购买(未使用年中云钜惠活动优惠券)或参与其他活动的订单付费金额不计入统计范围内;

弹性负载均衡帮助视频

创建弹性负载均衡实例

04:32

创建弹性负载均衡实例

配置弹性负载均衡访问日志

02:44

配置弹性负载均衡访问日志

如何排查健康检查异常

06:24

如何排查健康检查异常