多终端节点组流量调配原理及应用场景

全球加速支持为单个TCP和UDP协议的监听配置多个不同地域的终端节点组。您可以为终端节点组设置流量调配值,灵活控制转发到各终端节点组的访问流量比例,同时,您还可以为终端节点组开启健康检查,剔除异常的终端节点组。

多终端节点组流量调配原理

流量调配介绍

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

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

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

说明

为各终端节点组开启了健康检查后,若高优先级的终端节点组健康检查异常,访问流量将全部转发至次优先级终端节点组,此时转发权重与设置的流量调配值无关。

流量调配计算

您可以通过以下示例了解流量调配原理:

  • 单加速地域对应多终端节点组

    假设某应用的客户端集中在北京地域,服务器部署在北京和上海地域,已通过全球加速添加了北京加速地域、北京地域终端节点组和上海地域终端节点组。现在需要按需分配北京和上海的访问流量比例。

    • 各终端节点组流量调配均设置为100%

      image

      序号

      调度流程说明

      客户端访问流量被就近调度到北京接入点,进入阿里云加速网络。

      监听根据配置的协议与端口检查客户端的连接请求,并根据各个终端节点组的调度优先级与设置的流量调配值选择接收请求的终端节点组。

      北京终端节点组优先级高于上海终端节点组,健康检查正常且流量调配为100%,访问流量全部被转发到北京终端节点组。

      客户端请求由北京的服务器处理。

      当北京终端节点组健康检查异常时,次优先级的上海终端节点组健康检查正常,那么监听会将流量全部转发到上海终端节点组。

      客户端请求由上海的服务器处理。

    • 北京终端节点组流量调配调整为50%(您也可以按需调整为其他值),上海终端节点组为100%

      image

      与流量调配为100%时的调度流程类似,北京客户端访问流量会被优先转发到北京终端节点组。根据流量调配50%,将前50%的访问流量转发至北京终端节点组处理,剩余50%将被转发至上海终端节点组。同样,若流量调配为30%时,将前30%的访问流量转发至北京终端节点组,剩余70%将被转发至上海终端节点组。

      同时,上海终端节点组的流量调配为100%,则剩余访问流量(如上剩余50%或70%)将全部由上海终端节点组接收。

    • 各终端节点组流量调配均设置为50%(您也可以按需调整为其他值)

      image

      序号

      调度流程说明

      客户端访问流量被就近调度到北京接入点,进入阿里云加速网络。

      监听根据配置的协议与端口检查客户端的连接请求,并根据各个终端节点组的调度优先级与设置的流量调配值选择接收请求的终端节点组。

      北京终端节点组优先级高于上海终端节点组,健康检查正常且流量调配为50%,访问流量50%转发到北京终端节点组。

      北京服务器处理访问流量的50%。

      剩余50%被转至次优先级的上海终端节点组,根据上海终端节点组流量调配50%,则上海终端节点组接收剩余流量的50%,即50%×50%=25%。

      此时,北京终端节点组接收50%,上海终端节点组接收25%,还有25%访问流量未被接收。

      对客户端访问流量剩余未被接收部分进行二次调度,二次调度方式为剩余未被接收部分在每个终端节点组平均分配。

      剩余未被接收的25%访问流量平均分配至各终端节点组,即北京和上海终端节点组各接收12.5%。

      北京的服务器处理二次调度的12.5%的访问流量。 北京的服务器总共处理62.5%的访问流量,即50%+12.5%=62.5%。

      上海的服务器处理37.5%的访问流量,即25%+12.5%=37.5%。

  • 多加速地域对应多终端节点组

    当客户端分布在多个地域,即有多个加速地域时,客户端的访问流量通过加速IP从就近接入点进入阿里云加速网络,再根据调度优先级调度至离接入点最近的终端节点组。

    • 各终端节点组流量调配均设置为100%

      image

      序号

      调度流程说明

      北京和上海客户端的访问流量分别被就近调度到北京和上海接入点,进入阿里云加速网络。

      监听根据配置的协议与端口检查客户端的连接请求,并根据各个终端节点组的调度优先级与设置的流量调配值选择接收请求的终端节点组。

      根据流量调配值,对各地域客户端访问流量进行调度。

      • 北京客户端访问流量调度情况

        北京终端节点组优先级高于上海终端节点组,健康检查正常且流量调配为100%,北京客户端的访问流量全部被转发到北京终端节点组。

      • 上海客户端访问流量调度情况

        上海终端节点组优先级高于北京终端节点组,健康检查正常且流量调配为100%,上海客户端的访问流量全部被转发到上海终端节点组。

      上海和北京的服务器分别处理各自接收到的访问流量。

    • 北京终端节点组流量调配调整为50%(您也可以按需调整为其他值),上海终端节点组为100%

      image

      与流量调配为100%时的调度流程类似,北京客户端访问流量会被优先转发到北京终端节点组。根据流量调配50%,将前50%的访问流量转发至北京终端节点组,剩余50%将被转发至上海终端节点组。同样,若流量调配为30%时,将前30%的访问流量转发至北京终端节点组,剩余70%将被转发至上海终端节点组。

      上海客户端访问流量会被优先转发到上海终端节点组,根据上海终端节点组流量调配100%,上海客户端访问流量全部被上海终端节点组接收。

      最终,北京终端节点组接收50%的北京客户端访问流量,上海终端节点组接收100%上海客户端访问流量和北京客户端剩余50%的访问流量。

    • 各终端节点组流量调配均设置为50%(您也可以按需调整为其他值)

      image

      序号

      调度流程说明

      北京和上海客户端的访问流量分别被就近调度到北京和上海接入点,进入阿里云加速网络。

      监听根据配置的协议与端口检查客户端的连接请求,并根据各个终端节点组的调度优先级与设置的流量调配值选择接收请求的终端节点组。

      根据流量调配值,对各地域客户端访问流量进行首次调度。

      • 北京客户端访问流量调度情况

        北京终端节点组优先级高于上海终端节点组,健康检查正常且流量调配为50%,访问流量50%转发到北京终端节点组,剩余50%转发至上海终端节点组。根据上海终端节点组流量调配50%,则上海终端节点组接收北京剩余流量的50%,即50%×50%=25%。此时,北京剩余25%(100%-50%-25%)访问流量未被接收。

      • 上海客户端访问流量调度情况

        上海终端节点组优先级高于北京终端节点组,健康检查正常且流量调配为50%,访问流量50%转发到上海终端节点组,剩余50%转发至北京终端节点组。根据北京终端节点组流量调配50%,则北京终端节点组接收上海剩余流量的50%,即50%×50%=25%。此时,上海剩余25%(100%-50%-25%)访问流量未被接收。

      对各地域客户端访问流量剩余未被接收部分进行二次调度,二次调度方式为剩余未被接收部分在每个终端节点组平均分配。

      北京剩余未被接收的25%访问流量平均分配到北京终端节点组和上海终端节点组,即各终端节点组分别接收12.5%。同样,上海剩余未被接收的25%访问流量,各终端节点组也分别接收12.5%。

      上海和北京的服务器分别处理各自接收到的访问流量。

应用场景

应用场景概览

场景

说明

服务多地域部署

针对原有的服务器不满足现有应用需求或部分地域用户群体验不佳时,例如不同的用户群共用一个加速区域,或多个加速区域共用一个终端节点组,需要在新地域上线服务。

访问流量多地域负载

针对单地域部署服务造成的传输线路流量过大或者服务器负载过高问题,可考虑将服务部署在不同地域,将不同地域的后端服务分别配置为终端节点组,再通过流量调配功能调整不同地域访问流量的分配比例,来降低单一地域的访问压力。

服务跨地域容灾

对服务连续性和可靠性有一定要求时,可跨地域部署服务,将不同地域的后端服务分别配置为终端节点组并开启健康检查功能。当某个地域服务出现异常时,可将访问流量转发至正常地域,实现容灾需求。

按地域下线或升级服务

针对地域级业务调整,例如需要平滑下线访问量较小的某地域服务或升级某地域服务,可通过终端节点组的流量调配功能将此地域访问流量进行灵活迁移。

服务多地域部署

当业务扩展,原有的服务器不满足现有应用的需求或部分地域用户体验不佳时,需要在新的地域部署该服务。您可以通过为全球加速新增终端节点组或加速地域,来提升用户访问体验。

  • 新增终端节点组,提升服务处理能力

    以下图场景为例。某应用部署在北京地域,原有的北京和上海客户端分别由北京和上海接入点接入,访问请求均由北京终端节点组的服务器进行处理。随着用户量增大,服务器负载越来越高。

    image

    您可以增加上海终端节点组,将上海客户端的访问流量迁移到上海终端节点组的服务器中,实现应用服务能力提升。实现步骤如下:

    1. 在上海地域部署服务器。

    2. 在全球加速对应监听中添加上海地域终端节点组。具体操作,请参见添加默认终端节点组

      添加上海终端节点组时,可先将流量调配配置为一个较小的值,例如1%,以进行调试。

    3. 调试验证上海客户端访问流量转发情况。

      此时,北京客户端的访问流量继续由北京终端节点组的服务器处理,上海客户端访问流量中1%由上海终端节点组的服务器处理,剩余99%转发至北京终端节点组的服务器处理。

    4. 调试成功后,修改上海地域终端节点组的流量调配为100%。

      上海客户端的访问流量完全迁移到上海终端节点组的服务器中,北京终端节点组的服务器不再处理上海客户端的访问请求。具体操作,请参见设置终端节点组流量调配

  • 新增加速地域,提升用户访问体验

    以下图场景为例。假设某应用部署在北京,客户端集中在北京和上海地域,均通过北京接入点接入全球加速网络,所有访问请求均由北京终端节点组的服务器处理。上海客户端经常出现延迟、抖动等网络问题。

    image

    您可以在上海地域部署该服务,为全球加速实例添加上海加速地域和上海地域的终端节点组。上海客户端的访问请求将就近接入上海接入点,经监听检查处理后转发至离上海接入点较近的上海终端节点组。最终实现上海客户端访问体验的提升。具体操作,请参见添加和管理加速区域添加默认终端节点组

访问流量多地域负载

您可以通过流量调配功能将某个加速地域的访问流量分配至多个不同地域的终端节点组,从而降低该加速地域对应终端节点组服务器的负载。

如下图场景所示。假设某应用部署在北京和上海,客户端主要集中在北京地域。已通过全球加速添加了北京加速地域、北京地域终端节点组和上海地域终端节点组,全球加速默认将北京客户端的访问流量全部就近转发至北京终端节点组的服务器进行处理。由于北京访问流量较大,导致北京地域终端节点组的服务器负载过大,客户端访问出现卡顿、丢包等情况。

image

您可以根据需求调整北京和上海地域终端节点组的流量调配值,例如将北京终端节点组的默认流量调配值100%修改为50%,此时,北京客户端的50%访问流量由北京终端节点组的服务器处理,剩余50%访问流量转发至上海终端节点组的服务器处理,实现北京地域访问流量的合理分配,降低北京终端节点组中服务器的压力。修改终端节点组流量调配,请参见设置终端节点组流量调配

服务跨地域容灾

您可以通过在全球加速中添加多个不同地域的终端节点组,并为多个终端节点组开启健康检查,实现服务跨地域容灾。

如下图场景所示,假设某应用部署在北京和上海,已通过全球加速在上海和北京地域分别添加了对应的加速地域和终端节点组。正常情况下,北京和上海客户端的访问请求会被就近接入对应的加速地域,通过监听检查处理,再根据流量调配值和调度优先级分别转发至对应的终端节点组。为保证应用能持续稳定的对外提供服务,要求北京或上海其中任意一个地域的应用出现异常时,可将异常地域的访问流量自动切换至另一个运行正常的地域。

image

您可以分别为北京和上海地域的终端节点组开启健康检查,当上海地域终端节点组健康检查出现异常时,监听会自动将访问流量调度至健康检查正常的北京地域终端节点组;而当上海地域终端节点组恢复正常后,监听会自动恢复上海客户端的流量调配,将上海客户端的访问流量全部调度至上海地域终端节点组。健康检查的配置,请参见开启和管理健康检查

按地域下线或升级服务

您可以通过流量调配功能,实现服务按地域下线或升级,降低对客户端访问的影响。

以下图场景为例。假设某公司业务部署在北京和上海地域,已通过全球加速在上海和北京地域分别添加了对应的加速地域和终端节点组。现位于上海的服务因访问量较小,需要暂时下线,要求下线过程中,不会影响上海客户端的正常访问。

image

您可以先将上海地域终端节点组的流量调配配置为较小的值,例如1%,将剩余99%的访问流量切换至北京地域的终端节点组。待上海地域访问请求量降低至您预期的可下线状态后,再将流量调配配置为0%,此时您可以下线部署在上海地域的服务。

同样,当需要升级上海服务时,可以先按照上述下线过程调整流量调配值,当流量调配值为0%时,上海的客户端访问流量全部被调度至北京终端节点组。升级完成后,再将上海地域终端节点组流量调配配置为100% ,从而恢复上海客户端的流量调度。