You need to enable JavaScript to run this app.
导航
在负载反馈路由模式中上报负载
最近更新时间:2025.01.13 19:44:22首次发布时间:2024.06.14 16:35:05

本文档介绍如何向云调度 GTM 上报负载。如果您在配置 GTM 实例时选择的路由模式是负载反馈路由模式,您需要向云调度 GTM 上报负载。云调度 GTM 可以根据您上报的负载对流量的分配比例进行动态调整。

什么是负载反馈

对于智能路由策略的容量优先路由模式,云调度 GTM 会在不超出您为目标地址或地址池预设的容量的前提下,返回用户访问延时最低的目标地址。但是,容量优先路由模式存在以下问题:

  • 如果地址池或目标地址的实际容量在后续发生了变化,基于预设容量的流量分配比例就不符合地址池或目标地址的实际容量。这样会影响流量分配的准确性。
  • 云调度 GTM 无法感知地址池或目标地址实际承受的流量。因此,云调度 GTM 无法保证地址池或目标地址实际承受的流量不会超出其容量。

在智能路由策略的负载反馈路由模式下,您可以调用 上报负载 API 把地址池或目标地址的实时负载、目标负载和实际容量等信息上报到云调度 GTM。云调度 GTM 会根据您上报的信息动态调整地址池或目标地址的流量分配,确保地址池或目标地址的实时负载不超过目标负载。云调度 GTM 还会根据您上报的信息预测用户请求的分布情况,从而更准确地调度流量。负载还没有被上报时,所有地址池或目标地址的实时负载和目标负载都默认是预设容量的 80%。

说明

智能路由策略的负载反馈路由模式在 “容量”的基础上,又引入了“负载”的概念。负载是一个正整数,用来表示地址池或地址实际接收到的用户流量。您可以根据机房当前被使用的带宽和活跃连接数等指标为机房设置一个负载值。负载是一个相对值,因此您无需输入地址或地址池的真实带宽或并发连接数,但您需要确保不同地址或地址池之间使用统一的负载单位。 容量用来表示地址池或目标地址的流量承载能力。因此,负载不能超过容量。负载和容量必须使用相同的估算标准和单位。例如,如果容量是根据机房的带宽估算的,负载也必须是根据机房的带宽估算的。

例如:

  • 一个机房的总带宽容量是 10 Gbps。假设您把容量的值规定为 1000。当前已使用的带宽是 6 Gbps,则负载的值为 600。
  • 一个机房能够处理的最大并发连接数是 10,000,000。假设您把容量的值规定为 1000。如果当前有 6,000,000 个活跃连接,则负载的值为 600。

示例业务场景

快速入门 的示例业务场景中,北京机房的流量承载能力发生了变化:IP 地址为 203.0.113.1 机房的容量从 200 降低到了 100;IP 地址为 203.0.113.2 的机房的容量从 100 降低到了 50。

北京机房的当前负载如下:

  • IP 地址为 203.0.113.1 机房的当前负载是 120。
  • IP 地址为 203.0.113.2 机房的当前负载是 60。

您希望北京机房调整后的的负载满足以下要求:

  • IP 地址为 203.0.113.1 机房的负载不超过 90。
  • IP 地址为 203.0.113.2 机房的负载不超过 45。

前提条件

  • GTM 实例的 策略智能路由路由模式负载反馈
  • GTM 实例的 状态运行中

实现步骤

参见以下步骤在负载反馈路由模式中上报目标地址的负载。

  1. 调用 上报负载 API,分别为 203.0.113.1203.0.113.2 两个目标地址上报当前负载和目标负载。

    地址

    当前负载

    目标负载

    容量

    203.0.113.1

    120

    90

    100

    203.0.113.2

    60

    45

    50

    POST https://open.volcengineapi.com?Action=UpdateLoad&Version=2023-01-01
    
    {
        "GtmId":"8234cb50-f957-4be9-b515-55c5d419ea9e",
        "Timestamp": 1700805259,
        "Statistics": [
            {
                "AddrValue": "203.0.113.1",
                "CurrentLoad": 120,
                "TargetLoad": 90,
                "Capacity": 100
            }
            {
                "AddrValue": "203.0.113.2",
                "CurrentLoad": 60,
                "TargetLoad": 45,
                "Capacity": 50
            },
        ]
    }
    
  2. 定期(例如每分钟)监测机房的负载变化。如果机房的当前负载发生了变化,您需要再次调用 上报负载 API上报数据。云调度 GTM 会每分钟根据您最新上报的数据调整地址池或目标地址的流量分配。