使用GA流量调配实现多地域流量平滑切换

更新时间:
复制 MD 格式

当您的服务部署在多个地域时,您可以通过流量调配功能控制不同地域终端节点组的访问流量比例。

流量调配介绍

GA支持设置终端节点组流量调配,调整多个终端节点组的访问流量比例,实现访问流量的合理调配,为用户提供更好的访问体验。

  • 流量调配:表示访问流量的调配权重,取值范围为0%~100%,默认值为100%。0%表示不使用此终端节点组,不向该终端节点组转发访问流量,100%表示访问流量全部转发到此终端节点组。

  • 调度优先级:终端节点组最终实际的流量分配,不仅取决于设置的终端节点组流量调配,还依赖于终端节点组调度优先级。GA基于网络时延(主要依赖于地理位置和网络链路情况)得出调度优先级。一般来说,接入点到每个终端节点组地域的地理位置越近,网络链路越短,调度优先级越高。访问流量会被优先调度至离接入点最近的终端节点组。

包年包月付费模式下,仅TCPUDP监听支持配置流量调配;按量付费模式下,不限定监听类型,均可设置流量调配。
为各终端节点组开启了健康检查后,若高优先级的终端节点组健康检查异常,访问流量将全部转发至次优先级终端节点组,此时转发权重与设置的流量调配值无关。
如果存在自定义转发策略,访问流量会在已匹配转发策略所关联的终端节点组间进行调度。

场景示例

假设某公司业务部署在北京和上海,服务协议与端口为TCP 80,客户端主要集中在北京地域。该公司已通过全球加速添加了北京加速地域、北京地域终端节点组和上海地域终端节点组。全球加速默认将北京客户端的访问流量全部就近转发至北京终端节点组的服务器进行处理,上海终端节点组作为北京地域异常时的备用终端节点组。因公司业务调整,要求北京客户端的访问流量先暂时切换至上海地域终端节点组的服务器进行处理,切换过程客户端不感知。

您可以调整北京终端节点组的流量调配值,例如将默认的100%先调整至50%,此时北京客户端50%的访问流量会被调度到上海终端节点组的服务器处理。测试访问流量转发不受影响后,进一步调整为0%,北京客户端的访问流量会被全部调度到上海终端节点组的服务器处理,从而实现北京客户端访问流量的平滑切换。

image

配置步骤

本文以按量付费的标准型全球加速实例为例,为您介绍如何使用多终端节点组流量调配功能。

  • 按量付费全球加速实例采用按流量的带宽计费方式,无需绑定带宽包。接入全球加速网络产生的流量费用统一由云数据传输 CDT(Cloud Data Transfer)结算出账。更多信息,请参见流量计费

  • 首次使用按量付费GA实例,您需要在服务开通页面根据提示开通按量付费全球加速服务。

步骤一:部署服务器

本文以Alibaba Cloud Linux 3.2104 64位操作系统为例。不同类型的操作系统测试命令会有差异,具体测试命令请参见您操作系统的操作指南。

  1. 分别在北京和上海地域部署服务器,并开启TCP 80协议端口。

  2. 登录北京客户端,打开命令行窗口,通过curl <源站IP>命令分别访问北京和上海地域的服务器。

步骤二:配置实例基础信息

  1. 登录全球加速管理控制台

  2. 实例列表页面,单击创建标准型按量付费实例

  3. 实例基础配置向导页面,根据以下信息进行配置,然后单击下一步

    配置

    说明

    全球加速实例名称

    输入全球加速实例名称。

    实例计费方式

    默认为按量付费

    使用按量付费的标准型全球加速实例,产生的费用包括:实例费、性能容量单位CU费和流量费。

    资源组

    选择标准型全球加速实例所属的资源组。

    该资源组为当前阿里云账号在资源管理中创建的资源组。更多信息,请参见创建资源组

步骤三:配置加速区域

全球加速实例配置加速区域,指定可以加速访问后端服务的用户所在的地域并为其分配加速带宽。

配置加速区域向导页面,根据以下信息配置加速区域,然后单击下一步

配置

说明

加速区域

在下拉列表中选中需要进行访问加速的一个地域或多个地域,然后单击添加至列表

本文在华北区域下选中北京地域。

分配带宽

带宽峰值

设置加速地域的带宽。每个加速地域支持分配的带宽范围为2~10000 Mbps。

此处带宽峰值仅作限速,产生的流量费用统一由CDT结算出账。

本文保持默认值200 Mbps。

重要

如果带宽峰值设置过低,可能出现限速从而导致流量被丢弃,请合理规划带宽峰值,确保和业务需求匹配。

IP地址协议

选择接入全球加速服务的IP地址协议。

本文保持默认值IPv4

公网质量类型

选择接入全球加速服务的公网质量类型。

本文选择BGP(多线)

步骤四:配置监听

监听负责检查连接请求,根据您指定的端口和协议处理来自客户端的入站连接。每个监听都关联一个终端节点组,通过指定要分发流量的地域,将终端节点组与监听关联。关联后,全球加速会将流量分配到与监听关联的终端节点组内的最佳终端节点。

配置监听向导页面,配置监听,然后单击下一步

此处仅介绍本文强相关的配置项,其余配置项可保持默认配置。更多信息,请参见添加TCPUDP协议监听

配置

说明

监听名称

输入监听的名称。

路由类型

选择路由类型。

本文选择智能路由

协议

选择监听的协议类型。

本文选择TCP

端口

指定用来接收请求并向终端节点进行转发的监听端口,端口取值范围:1-65499

本文输入80

步骤五:配置终端节点组和终端节点

  1. 配置北京终端节点组。

    1. 配置终端节点组配置向导页面,根据以下信息配置北京终端节点组,然后单击下一步

      本文仅介绍强相关配置项,更多配置项信息,请参见添加和管理智能路由类型监听的终端节点组

      配置

      说明

      地域

      选择终端节点组所属的地域,即请求要访问的目标服务器的所属地域。

      本文选择北京

      终端节点配置

      终端节点是客户端请求访问的目标主机。您可以根据以下信息配置终端节点:

      • 后端服务类型:选择自定义公网IP

      • 后端服务:输入要加速的后端服务的IP。本文输入北京服务器的公网IP地址。

      • 权重:输入终端节点的权重,权重取值范围:0~255。全球加速根据您配置的权重按比例将流量路由到终端节点。本文保持默认值255

        警告

        如果某个终端节点的权重设置为0,全球加速将终止向该终端节点分发流量,请您谨慎操作。

      保持客户端源IP

      选择是否保持客户端源IP。

      选择保持客户端源IP,后端服务器可以通过该功能获取客户端源IP。更多信息,请参见保持客户端源IP

      本文保持默认配置不保持

      流量调配

      配置到不同终端节点组的流量比例。

      取值范围:0~100。本文保持默认值100

      健康检查

      选择开启或关闭健康检查。开启后,可以通过健康检查来判断终端节点的运行状态。

      本文开启健康检查。

      健康检查协议

      选择健康检查的协议,支持TCP、HTTPHTTPS协议。

      本文选择为TCP

      端口

      健康检查服务访问终端节点时的探测端口。取值范围:1-65535。

      本文配置为80

    2. 配置审核配置向导页面,确认监听和终端节点配置信息后,单击提交

      创建全球加速实例预计耗时3~5分钟,请您耐心等待。

    3. 可选:创建任务完成后,在创建任务详情列表下方,单击进入实例详情,然后在实例详情页,可选择实例信息监听加速区域等页签查看实例配置信息。

  2. 配置上海终端节点组。

    1. 在实例详情页面,单击监听页签。

    2. 监听页签,找到目标监听,在默认终端节点组列单击终端节点组ID或数字。

    3. 终端节点组页签下的默认终端节点组区域,单击+ 添加终端节点组

    4. 添加终端节点组页面,根据以下信息进行配置,然后单击创建

      • 地域:选择上海

      • 终端节点配置后端服务:输入上海服务器的公网IP地址。

      其余参数配置与北京终端节点组保持一致。

步骤六:测试流量调配效果

模拟客户端发送多次请求,统计各地域后端处理的请求数量,验证流量调配效果:

echo > curl.txt
for ((i=0; i<<请求数>; i++)); do
  curl -s <加速IP> >> curl.txt
done
echo "Beijing count: $(grep -c Beijing curl.txt)"
echo "Shanghai count: $(grep -c Shanghai curl.txt)"
  • <请求数>:模拟的请求总数,例如 100

  • <加速IP>:GA 分配的加速 IP。

以本文场景为例,登录北京客户端,发送 100 次请求:

echo > curl.txt
for ((i=0; i<100; i++)); do
  curl -s 123.xxx.xxx.xxx >> curl.txt
done
echo "Beijing count: $(grep -c Beijing curl.txt)"
echo "Shanghai count: $(grep -c Shanghai curl.txt)"

分别将高优先级的北京终端节点组流量调配值设为 100%、50%、0%,执行上述命令,对比三次结果中各地域的请求分布。

相关文档