弹性负载均衡(Elastic Load Balance,ELB)
弹性负载均衡(Elastic Load Balance,ELB)是将访问流量根据转发策略分发到后端多台弹性云服务器的流量分发控制服务,可以通过流量分发扩展应用系统对外的服务能力,提高应用程序的容错能力。
弹性负载均衡(Elastic Load Balance,简称ELB)是将访问流量根据转发策略分发到后端多台 服务器 的流量分发控制服务。弹性负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
弹性负载均衡具有以下优势:
- 高性能
集群支持最高1亿并发连接,满足用户的海量业务访问需求。
- 高可用
采用集群化部署,支持多可用区的同城双活容灾,无缝实时切换。
- 灵活扩展
根据应用流量自动完成分发,与弹性伸缩服务无缝集成,灵活扩展用户应用的对外服务能力。
- 简单易用
快速部署ELB,实时生效,支持多种协议、多种调度算法可选,用户可以高效地管理和调整分发策略。
- 可靠性
仅增强型负载均衡具有,公网私网均支持跨可用区双活容灾,支持一致性Hash,流量分发更均衡。
- 运维
仅增强型负载均衡具有,支持按监听器粒度监控性能指标,更方便客户业务统计。
弹性负载均衡的类型
弹性负载均衡支持经典型、增强型两种负载均衡。
- 经典型负载均衡:适用于访问量较小,应用模型简单的web业务。
- 增强型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活的业务转发。
两者的详细区别请参见 增强型与经典型负载均衡的功能区别 。
弹性负载均衡的组件
弹性负载均衡器接受来自客户端的传入流量并将请求转发到一个或多个可用区中的后端 服务器 。
您可以向您的弹性负载均衡器添加一个或多个监听器。监听器使用您配置的协议和端口检查来自客户端的连接请求,并根据您定义的转发策略将请求转发到一个后端服务器组里的后端 服务器 。
每个后端 服务器 组使用您指定的协议和端口号将请求转发到一个或多个后端 服务器 。
您可以开启健康检查功能,对每个后端服务器组配置运行状况检查。当后端某台 服务器 健康检查出现异常时,弹性负载均衡会自动将新的请求分发到其它健康检查正常的后端 服务器 上;而当该后端 服务器 恢复正常运行时,弹性负载均衡会将其自动恢复到弹性负载均衡服务中。
图1 弹性负载均衡组件图
如何访问弹性负载均衡
可以使用以下方式访问和管理弹性负载均衡:
- 管理控制台
请使用管理控制台方式访问弹性负载均衡。可直接登录管理控制台,从主页选择“弹性负载均衡”。
- 查询API
通过调用API的方式访问弹性负载均衡,具体操作请参见 《弹性负载均衡API参考》 。
弹性负载均衡是如何工作的
您可以在弹性负载均衡服务中创建一个负载均衡器。该负载均衡器会接收来自客户端的请求,并将请求转发到一个或多个可用区的后端 服务器 中进行处理。请求的流量分发与负载均衡器配置的分配策略类型相关。
增强型负载均衡算法,支持以下三种调度算法:
- 加权轮询算法:根据后端服务器的权重,按顺序依次将请求分发给不同的服务器。它用相应的权重表示服务器的处理性能,按照权重的高低以及轮询方式将请求分配给各服务器,相同权重的服务器处理相同数目的连接数。常用于短连接服务,例如HTTP等服务。
- 加权最少连接:最少连接是通过当前活跃的连接数来估计服务器负载情况的一种动态调度算法。加权最少连接就是在最少连接数的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权重,使其能够接受相应权值数的服务请求。常用于长连接服务,例如数据库连接等服务。
- 源IP算法:将请求的源IP地址进行Hash运算,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个客户端IP的请求始终被派发至某特定的服务器。该方式适合负载均衡无cookie功能的TCP协议。
经典型负载均衡算法,支持以下三种调度算法:
- 轮询算法:按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。常用于短连接服务,例如HTTP等服务。
- 最少连接:通过当前活跃的连接数来估计服务器负载情况的一种动态调度算法,系统把新的连接请求分配给当前连接数目最少的服务器。常用于长连接服务,例如数据库连接等服务。
- 源IP算法:将请求的源IP地址进行Hash运算,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个客户端IP的请求始终被派发至某特定的服务器。该方式适合负载均衡无cookie功能的TCP协议。
图1 展示弹性负载均衡器使用加权轮询算法的流量分发流程。假设可用区内有4台权重相同的后端 服务器 ,负载均衡器节点会将25%的客户端流量分发到其可用区中的每一台后端 服务器 。
图1 加权轮询算法流量分发
增强型与经典型负载均衡的功能区别
弹性负载均衡有两种不同的负载均衡,分别是增强型负载均衡和经典型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型。
- 经典型负载均衡:适用于访问量较小,应用模型简单的web业务。
- 增强型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活的业务转发。
增强型负载均衡对比经典型负载均衡,提供了更丰富的HTTP和HTTPS转发能力,同时在转发性能和稳定性上也有较大提升。两者具体的功能差异如 表1 所示。(“√”表示支持,“—”表示不支持。)
功能 |
经典型负载均衡 |
增强型负载均衡 |
---|---|---|
支持公网和私网负载均衡 |
√ |
√ |
支持四层(TCP/UDP)和七层负载均衡(HTTP/HTTPS) |
√(私网类型不支持UDP协议) |
√ |
支持轮询 /最少连接/源IP |
√ |
√ |
支持会话保持 |
√ |
√ |
支持WebSocket协议 |
√ |
√ |
支持按域名和URL转发 |
— |
√ |
支持HTTP/2 |
— |
√ |
支持后端服务器为ECS |
√ |
√ |
支持访问控制(白名单) |
— |
√ |
支持标准OpenStack API |
— |
√ |
支持后端服务器为裸机 |
— |
√ |
支持SNI多证书特性 |
— |
√ |
支持SSL协议/加密算法可选 |
√ |
— |
支持访问日志 |
— |
√ |
支持权重 |
— |
√ |
支持修改证书内容 |
— |
√ |
支持双向认证 |
— |
√ |
支持HTTP重定向 |
— |
√ |
支持获取弹性公网IP |
— |
√ |
-
公网和私网负载均衡器
-
公网负载均衡器
公网负载均衡器通过公网IP对外提供服务,将来自公网的客户端请求按照指定的负载均衡策略分发到后端 云服务器 进行处理。
对于增强型公网负载均衡,不仅支持公网访问,也支持私网访问。
图1 公网负载均衡器
私网负载均衡器
私网负载均衡器通过私网IP对外提供服务,将来自同一个VPC的客户端请求按照指定的负载均衡策略分发到后端进行处理。
图2 私网负载均衡器
应用场景
- 使用ELB为高访问量业务进行流量分发
对于业务量访问较大的业务,可以通过ELB设置相应的转发策略,将访问量均匀的分到多个后端处理。例如大型门户网站,移动应用市场等。
同时您还可以开启会话保持功能,保证同一个客户请求转发到同一个后端,从而提升访问效率,如 图1 所示。
图1 会话保持流量分发
- 使用ELB和AS为潮汐业务弹性分发流量
对于存在潮汐效应的业务,结合弹性伸缩服务,可以随时在ELB上添加和移除后端,更好的提升业务的灵活扩展能力,如 图2 所示。例如电商,手游,直播网站等。
图2 灵活扩展
- 使用ELB消除单点故障
对于可靠性有较高要求的业务,可以在负载均衡器上添加多个后端 云服务器 。负载均衡器会通过健康检查及时发现并屏蔽有故障的 云服务器 ,并将流量转发到其他正常运行的后端 云服务器 ,确保业务不中断,如 图3 所示。
例如官网,计费业务,Web业务等。
图3 消除单点故障
- 使用ELB跨可用区特性实现业务容灾部署
对于可靠性和容灾有很高要求的业务,弹性负载均衡可将流量跨可用区进行分发,建立实时的业务容灾部署。即使出现某个可用区网络故障,负载均衡器仍可将流量转发到其他可用区的后端 云服务器 进行处理,如 图4 所示。
例如银行业务,警务业务,大型应用系统等。
图4 多可用区部署
与其他服务关系
交互功能 |
服务名称 |
相关内容 |
---|---|---|
创建ELB时需要使用虚拟私有云服务创建的弹性公网IP、带宽。 |
虚拟私有云(Virtual Private Cloud,VPC) |
申请弹性公网IP |
当配置了负载均衡服务后,弹性伸缩在添加和移除云服务器时,自动在负载均衡服务中添加和移除云服务器。 |
弹性伸缩(Auto Scaling,AS) |
创建弹性伸缩组 |
需要统一身份认证提供鉴权。 |
统一身份认证服务(Identity and Access Management, IAM) |
创建用户组并授权 |
使用云审计服务记录弹性负载均衡服务的资源操作。 |
云审计服务(Cloud Trace Service,CTS) |
查看审计日志 |
当用户开通了弹性负载均衡服务后,无需额外安装其他插件,即可在云监控查看对应服务的实例状态。 |
云监控服务(Cloud Eye Service) |
查看监控指标 |
当用户购买了Anti-DDoS服务后,配置了负载均衡器的公网IP,确保了弹性负载均衡服务免受外部***,提高安全可靠性。 |
Anti-DDoS流量清洗服务(Anti-DDoS) |
开启Anti-DDoS防护 |
配置访问日志时需要您对接云日志服务,查看和分析对七层负载均衡HTTP和HTTPS进行请求的详细访问日志记录。 |
云日志服务(Log Tank Service,LTS) |
访问日志 |