跳转到内容
搜索文档

负载卸载

最后更新 查看 MarkdownAgent 设置

使用负载卸载防止有风险的端点变为不健康并启动故障转移流程。

在池上配置负载卸载后,该池将根据负载卸载设置和负载均衡器的流量导向策略将流量导向其他池。

步骤 1 — 识别有风险的端点

使用内部指标,识别有达到故障阈值风险的端点。

  • 如果端点流量增加但尚未有故障风险,从步骤 2开始。
  • 如果端点即将故障,从步骤 4开始。

步骤 2 — 从池卸载默认流量

识别有风险的端点后,从该端点池卸载少量 Default(默认) 流量。此流量与现有会话亲和性会话无关。

通过仪表板API配置负载卸载。

通过仪表板配置

要通过仪表板为特定池启用负载卸载:

  1. 前往 Load Balancing(负载均衡)
  2. 选择 Pools(池) 选项卡。
  3. 在池上,选择 Edit(编辑)
  4. 打开 Configure Load Shedding(配置负载卸载) 下拉菜单。
  5. 对于 Default traffic(默认流量),选择 Policy(策略)Shed %(卸载百分比)

Policy 选项

卸载 Default traffic(默认流量) 时,有两个 Policy(策略) 选项:

  • Random(随机):随机卸载 Shed % 中指定的请求百分比。更准确地分配流量,但可能导致来自同一 IP 的请求命中不同端点。
  • IP hash(IP 哈希):卸载 Shed % 中指定的 IP 地址哈希空间百分比。确保来自同一 IP 的请求命中同一端点,但可能卸载显著高于或低于预期的请求百分比。

有关选择策略的更多指导,请参阅卸载策略

Shed %

选择 Shed %(卸载百分比) 时,从小百分比开始并逐渐增加。特别是如果您选择 IP hash 卸载策略,您可能会卸载超出预期的流量。

通过 API 配置

要通过 API 为特定池启用负载卸载,更新池的 load_shedding 对象的值。

示例请求

Requestbash
curl --request PATCH \
"https://api.cloudflare.com/client/v4/accounts/{account_id}/load_balancers/pools/{pool_id}" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data-binary '{
  "load_shedding": {
    "default_percent": 20,
    "default_policy": "random",
    "session_percent": 0,
    "session_policy": "hash"
  }
}'

有关选择卸载策略的更多指导,请参阅卸载策略

步骤 3 — 监控流量

开始卸载默认流量后,通过查看负载均衡分析中的 Overview(概览) 指标评估效果。根据这些数字和内部指标,您将知道是否需要从池转移更多流量。

如果您看到池流量增加,可能需要卸载更多流量。池卸载的是总流量的百分比,因此总流量增加也会增加到达池的流量。

步骤 4 — 卸载额外流量(可选)

如果需要卸载更多池流量:

  1. 按照步骤 2中的步骤操作。
    • 在仪表板中,增加 Default traffic(默认流量) 和/或 Session affinity traffic(会话亲和性流量)Shed %(卸载百分比)
    • 对于 API,增加 default_percent 和/或 session_percent 的值。

由于卸载 Session Affinity traffic(会话亲和性流量) 将中断现有会话并可能降低客户体验,仅当池有即将变为不健康的危险或池有大量与现有会话相关的流量时才启用此选项。有关更多指导,请参阅卸载策略

步骤 5 — 禁用负载卸载

端点不再有风险后,从池移除负载卸载。

要在仪表板中移除负载卸载,执行与通过仪表板配置负载卸载相同的步骤,但将 Default traffic(默认流量)Session affinity traffic(会话亲和性流量)Shed %(卸载百分比) 设置为 0

要通过 API 移除负载卸载,执行与通过 API 配置负载卸载相同的步骤,但将 load_shedding 对象设置为 null

其他说明

卸载策略

对于 Default traffic(默认流量),有两种卸载策略选择。

Random(随机) 策略:

  • 随机卸载 Shed % 中指定的请求百分比。
  • 在请求级别卸载,更准确地分配流量。
  • 可能导致来自同一 IP 的请求命中不同端点,可能导致缓存未命中、延迟不一致,或仅 DNS 的负载均衡器的会话中断。

IP hash(IP 哈希) 策略:

  • 卸载 Shed % 中指定的 IP 地址哈希空间百分比。
  • 确保来自同一 IP 的请求命中同一端点,这将增加缓存命中、提供一致延迟并保留会话。
  • 可能过度或不足卸载请求,因为哈希不能保证完美的 IP 分布,单个 IP 可能负责不同百分比的请求。

当您想要更准确地分配原始请求时选择 Random(随机) 策略,当您想要防止单个 IP 在不同端点之间波动时选择 IP hash(IP 哈希) 策略。

对于 Session Affinity traffic(会话亲和性流量),您只能使用 IP hash(IP 哈希) 策略,因为这些请求与现有会话相关。仅当您愿意中断现有会话时才增加 Shed %

回退池

如果负载均衡器内的所有池都启用了 Load shedding(负载卸载),部分流量将进入回退池。要防止任何流量到达回退池,请确保负载均衡器内至少有一个池启用负载卸载。

多个负载均衡器中的池

如果您在池上启用负载卸载,它将在所有负载均衡器中卸载相同百分比的流量。如果您需要端点在不同负载均衡器中卸载不同百分比的流量,将该端点放入多个池。

这篇文档对您有帮助吗?