本文档介绍如何在负载反馈路由模式中上报地址池或目标地址的负载,使云调度 GTM 可以根据上报的负载动态调整流量分配比例。
负载是一个正整数,用来表示地址池或目标地址实际承受的流量。您可以根据机房的带宽、并发连接数等参数为机房设置一个合理的负载值。负载是一个相对值,因此您无需输入地址池或目标地址的真实带宽或并发连接数等数据,但您需要确保不同目标地址或地址池之间使用统一的负载单位。
容量用来表示地址池或目标地址的流量承受能力。因此,负载不能超过容量。
负载和容量必须使用相同的估算标准和单位。例如,如果容量是根据机房的带宽估算的,负载也必须是根据机房的带宽估算的。
如果您选择了智能路由策略的容量优先路由模式,云调度 GTM 会在不超出目标地址或地址池的容量的前提下,返回用户访问延时最低的目标地址。如果在您的业务场景中,地址池或目标地址的容量可能会发生变化,因为地址或地址池的容量不能被实时更新,流量调度比例与地址池或目标地址的实际容量可能会不匹配。
在智能路由策略的负载反馈路由模式下,您可以调用 上报负载 API 把地址池或目标地址的实时负载、目标负载和容量等信息上报到云调度 GTM。云调度 GTM 会根据您上报的信息动态调整地址池或目标地址的流量分配,确保地址池或目标地址的实时负载不超过目标负载。另外,云调度 GTM 也可以根据您上报的信息预测用户请求的分布情况,从而更准确地调度流量。
说明
负载还没有被上报时,所有地址池或目标地址的实时负载和目标负载都默认是容量的 80%。
在 快速入门 的示例业务场景中,北京机房的流量承载能力发生了变化。IP 地址为 1.0.0.1
机房的容量从 200 降低到了 100;IP 地址为 1.0.0.2
的机房的容量从 100 降低到了 50。
同时,您监测了机房的当前负载:
1.0.0.1
机房的当前负载是 120。1.0.0.1
机房的当前负载是 60。您希望机房的负载可以调整为以下值:
1.0.0.1
机房的负载不超过 90。1.0.0.1
机房的负载不超过 45。在上报负载前,您已经在负载反馈路由模式下 配置了 GTM 实例。GTM 实例的状态是 运行中。
参见以下步骤在负载反馈路由模式中上报目标地址的负载。
调用 上报负载 API,分别为 1.0.0.1
和 1.0.0.2
两个目标地址上报当前负载和目标负载。
地址 | 当前负载 | 目标负载 | 容量 |
---|---|---|---|
| 120 | 90 | 100 |
| 60 | 45 | 50 |
POST https://open.volcengineapi.com?Action=UpdateLoad&Version=2023-01-01 { "GtmId":"8234cb50-f957-4be9-b515-55c5d419ea9e", "Timestamp": 1700805259, "Statistics": [ { "AddrValue": "1.0.0.1", "CurrentLoad": 120, "TargetLoad": 90, "Capacity": 100 } { "AddrValue": "1.0.0.2", "CurrentLoad": 60, "TargetLoad": 45, "Capacity": 50 }, ] }
定时监测机房的负载变化,验证地址池或目标地址的负载是否按照您上报的目标负载进行了调整。云调度 GTM 会每分钟调整一次负载。