开始使用

负载均衡器的功能是分配进入的网络或应用流量到多个源地址池,以确保高可用性和可靠性。比如在一个大型在线购物网站的环境中,负载均衡器可以确保用户访问请求被平衡地分配到多个服务器上,而不是集中在某一台服务器上。

适用场景

  • 网站页面适用于加速小文件 API 请求动静混合的网站业务。例如:您的个人博客网站、小型 UGC 社区、小型电商独立站等场景。

  • API 接口适用于加速纯动态的 API 接口类业务,该类业务一般无需缓存。例如:账号密码校验接口、下单支付接口、日志上传接口、数据实时同步等场景。

  • 图片视频:适用于加速纯静态文件的业务。例如:大量的图片下载、在线视频点播、游戏安装包等场景。

操作流程

image
  1. 创建负载均衡器:负载均衡器的核心功能为优化并智能调配目标网络及应用程序流量至多个后端源地址,旨在确保服务的高可用性与稳定性。

  2. 配置负载均衡器:通过站点的DNS记录解析,来实现站点的负载均衡能力。

创建负载均衡器

负载均衡通过实施精细的流量导向策略,可以保障用户访问请求能够均匀地分布至一个由多台服务器构成的资源池中,而非让任何单一服务器承受过载压力。

image

步骤一:选择源站

您的网站地址可能会同时指向多个服务器,这些服务器都可以处理请求并返回内容。因此您可以将这些服务器放入同一个源地址池中,并且可以根据需求创建多个源地址池,使用源地址池来作为您的源站。您可以根据需求创建一个或多个源地址池作为源站,以提高服务性能、确保高可用性。

  1. ESA控制台,选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择流量 > 负载均衡

  3. 负载均衡页面,单击创建

  4. 创建负载均衡器页面,填入源站对应的信息。

    image

    参数

    说明

    域名

    表示您新建的负载均衡器的域名地址。该主机记录可以被边缘安全加速 ESA域名或四层加速应用引用,作为其域名/应用的源站。

    源地址池

    表示您新建的源地址池或者已有的源地址池。

    • 一个负载均衡器最多可包含20个源地址池。

    • 仅支持添加同一套餐的站点下创建的地址池。具体的请参考创建源地址池

    说明

    顺序:序号越低的源地址池优先级越高,请求被优先调度到高优先级的地址池,若高优先级的地址池异常则根据序号从小到大调度到其他源地址池。

    兜底地址池

    若负载均衡器下所有的源地址池都不可用,请求将被调度到兜底地址池,兜底地址池内的源服务器默认标记为永远健康,不受健康检查的影响。

  5. 单击下一步

步骤二:选择负载均衡策略

负载均衡策略决定了流量如何分配到不同的源地址池中。支持主备调度、加权轮询的调度策略,此处根据需求选择主备调度策略,基于源地址池的优先级进行调度。详细的负载均衡策略配置说明请参见负载均衡策略

  1. 选择负载均衡策略

    image

    策略类型

    适用场景

    说明

    主备调度

    对可靠性和数据一致性要求较高的场景。

    默认情况下,策略,支持对源地址池设置优先级。

    默认所有请求都将调度到优先级最高的源地址池,只有优先级最高的源地址池健康状态异常或被禁用时,请求才会被调度到优先级较低的源地址池。

    加权轮询

    系统并发请求较高,负载需按比例分散到多个源站集群进行处理的场景。

    支持对源地址池设置权重,权重范围为1-100,对应请求分配的百分比,ESA将根据权重将对应比例的用户请求调度到各个源地址池。

    若将源地址池的权重设置为0,则表示不将任何请求调度到该源地址池。

    基于区域调度

    区域调度策略多用于分国际或区域调度的场景。

    支持根据用户区域将请求调度到不同的源地址池,一般一个源地址池内的源服务器同属于一个国家/地区,全球区域划分说明详见负载均衡全球地区划分

    当您设置二级区域后,二级区域的优先级高于一级区域。

  2. (可选)单击高级设置,开启会话保持。

    会话保持支持基于客户端IP和基于Cookie两种模式。该功能默认关闭,适用于需保持用户会话状态的场景,例如在购物场景中,同一个用户的连续请求可能会被分发至不同的服务器,导致用户的登录信息、购物车中的商品信息等丢失,从而影响用户购物体验。当您开启了会话保持功能后,可以使来自同一客户端的请求被转发到同一个源站上,保证用户体验和数据一致性。

    image

  3. 选择异常重试策略

    用户请求可能因网络波动等原因导致回源失败,支持以下两种回源重试策略。

    • 源地址池内重试:默认策略,当回源失败时,选择同一源地址池内的其他源服务器进行重试。

    • 跨源地址池重试:回源失败时,进入下一优先级源地址池,选取池中健康的源服务器进行重试。

  4. 单击下一步

步骤三:配置健康探测规则

为了确保后端服务器能够正常工作并及时发现有问题的源地址,您需要配置健康探测规则,健康探测可以简单了解服务器的状态。支持ICMP Ping、HTTP、HTTPS、TCP、UDP ICMP等探测协议,主动探测源站健康状态,若探测失败则屏蔽异常源站。

  1. 健康探测页面,选择探测协议类型

  2. 根据业务需求,填写对应的参数。

    image

    ICMP Ping

    探测源服务器的网络连通性,判断源站是否可达。

    配置项

    说明

    高级配置

    探测时间间隔(秒)

    默认60秒。取值范围:10秒-3600秒。

    超时时间(秒)

    默认5秒,取值范围:1秒-10秒。

    健康判定

    不健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置不健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期结果都为不健康,才会将处于健康状态的源服务器修改为不健康。取值范围:1-5。

    健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期探测结果都为健康,才会将处于不健康状态的源服务器修改为健康。取值范围:1-5。

    HTTP/HTTPS

    适用于Web应用,支持对HTTP/HTTPS探测请求的响应状态码等做识别、判断。

    • 监视器里配置的Host:优先级最高。如果在监视器配置中指定了Host头,则使用该Host头进行健康探测。

    • 源服务器的Host:优先级第二。如果监视器配置中没有指定Host头,则使用源服务器的Host头进行健康探测。

    • LB的域名:作为兜底。如果前两个选项都不可用,则使用负载均衡器(LB)的域名进行健康探测。

    配置项

    说明

    探测URL的路径

    设置需要探测的路径,例如/health/test.txt,默认/

    端口

    HTTP协议默认端口为80,HTTPS默认端口443,端口范围:1-65535。

    高级配置

    探测时间间隔(秒)

    默认60秒。取值范围:10秒-3600秒。

    请求方法

    支持GETHEAD方法,默认使用HEAD方法。

    超时时间

    表示探测请求超时时间,超时则认为探测失败,默认5秒,取值范围:1秒-10秒。

    301/302重定向跟随

    表示探测请求是否允许301、302跟随,默认不开启。启用后最高跟随3次。

    添加请求头

    探测请求支持添加请求头,最多支持10个。不支持设置User-Agent请求头。

    健康判定

    预期状态码

    默认2xx,若收到对应的状态码则认为源站状态正常,否则便认为不正常。支持指定多个状态码或以‘x’为通配符的正则表达式,取值范围为100-9999。状态码需以一个或多个连续的数字打头,数字后面跟一个或多个连续的‘x’通配符,例如2xx,200,33xx,222x,8888。

    预期响应内容

    字符串形式,源站响应的内容匹配中该字符串即认为源站正常,否则认为不正常。 最多匹配前100KB的响应数据。

    不健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置不健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期结果都为不健康,才会将处于健康状态的源服务器修改为不健康。取值范围1-5。

    健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期探测结果都为健康,才会将处于不健康状态的源服务器修改为健康。取值范围1-5。

    TCP

    适用于基于TCP协议开发的应用,根据TCP建连的结果来判断源服务器的健康状态。

    配置项

    说明

    端口

    进行TCP探测请求访问的端口。

    高级配置

    探测时间间隔(秒)

    默认60秒。取值范围:10秒-3600秒。

    超时时间(秒)

    默认5秒,取值范围:1秒-10秒。

    不健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置不健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期结果都为不健康,才会将处于健康状态的源服务器修改为不健康。取值范围:1-5。

    健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期探测结果都为健康,才会将处于不健康状态的源服务器修改为健康。取值范围:1-5。

    UDP ICMP

    适用于基于UDP协议开发的应用。选择使用UDP ICMP协议进行健康探测时负载均衡器会在超时时间内检测端口是否返回ICMP Port Unreachable报文(用于表明目标端口不可达),若没有检测到则该探测周期结果为健康,若检测到则该探测周期结果为不健康。

    配置项

    说明

    端口

    进行UDP探测请求访问的端口。

    高级配置

    探测时间间隔(秒)

    默认60秒。取值范围:10秒-3600秒。

    超时时间(秒)

    默认5秒,取值范围:1秒-10秒。

    不健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置不健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期结果都为不健康,才会将处于健康状态的源服务器修改为不健康。取值范围:1-5。

    健康阈值

    默认值为1,即默认一个探测周期决策源服务器健康状态。 配置健康阈值为N后,对于一个特定的源服务器只有连续N个探测周期探测结果都为健康,才会将处于不健康状态的源服务器修改为健康。取值范围:1-5。

    说明

    如果您不希望ESA的节点对源服务器发起任何探测请求,可以在探测协议类型中选择不启用(不进行任何健康探测,不推荐)。使用该策略将无法感知源服务器的健康状态并及时摘除异常源服务器,相较于启用主动探测可能出现更多请求失败的情况。建议您开启主动探测以保障您的业务可用性。

  3. 单击下一步

步骤四:创建自定义规则

如果您的业务需要配置一些自定义规则来优化流量管理,例如:为了安全性要求较高的金融交易部分,我们可以配置特定的规则让其始终使用优先级最高的源地址池。自定义规则支持使用客户端来源IP、HTTP请求头等字段进行规则匹配,并为匹配中规则单独指定负载均衡的功能设置。

  1. 填写规则名称

  2. 配置规则内容当请求匹配以下规则时,具体参数说明请参见自定义规则配置,您可以参考规则表达式的组成来完成具体的规则配置。

    image

  3. 则执行...中选择响应指定内容修改负载均衡调度策略,内容配置完成后,单击确定

    image

  4. 单击下一步

步骤五:配置概览

配置概览展示以上步骤中配置的信息,方便查看和校验所有参数。确认参数信息无误后,单击完成

配置负载均衡器

创建负载均衡器后,您还需要添加DNS记录来配置负载均衡器,通过站点统一服务入口,结合负载均衡器实现高可用性和安全性,同时简化运维复杂度。

  1. ESA控制台,选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择DNS > 记录

  3. 记录页面,单击添加记录记录值/源站选择负载均衡、负载均衡选择已创建的负载均衡器。

    image

  4. 单击下一步,选择需要加速的场景后单击完成

    image