使用负载卸载防止有风险的端点变为不健康并启动故障转移流程。
在池上配置负载卸载后,该池将根据负载卸载设置和负载均衡器的流量导向策略将流量导向其他池。
使用内部指标,识别有达到故障阈值风险的端点。
识别有风险的端点后,从该端点池卸载少量 Default(默认) 流量。此流量与现有会话亲和性会话无关。
要通过仪表板为特定池启用负载卸载:
- 前往 Load Balancing(负载均衡)。
- 选择 Pools(池) 选项卡。
- 在池上,选择 Edit(编辑)。
- 打开 Configure Load Shedding(配置负载卸载) 下拉菜单。
- 对于 Default traffic(默认流量),选择 Policy(策略) 和 Shed %(卸载百分比):
Policy 选项
卸载 Default traffic(默认流量) 时,有两个 Policy(策略) 选项:
- Random(随机):随机卸载 Shed % 中指定的请求百分比。更准确地分配流量,但可能导致来自同一 IP 的请求命中不同端点。
- IP hash(IP 哈希):卸载 Shed % 中指定的 IP 地址哈希空间百分比。确保来自同一 IP 的请求命中同一端点,但可能卸载显著高于或低于预期的请求百分比。
有关选择策略的更多指导,请参阅卸载策略。
Shed %
选择 Shed %(卸载百分比) 时,从小百分比开始并逐渐增加。特别是如果您选择 IP hash 卸载策略,您可能会卸载超出预期的流量。
要通过 API 为特定池启用负载卸载,更新池的 load_shedding 对象的值。
示例请求
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"
}
}'有关选择卸载策略的更多指导,请参阅卸载策略。
开始卸载默认流量后,通过查看负载均衡分析中的 Overview(概览) 指标评估效果。根据这些数字和内部指标,您将知道是否需要从池转移更多流量。
如果您看到池流量增加,可能需要卸载更多流量。池卸载的是总流量的百分比,因此总流量增加也会增加到达池的流量。
如果需要卸载更多池流量:
- 按照步骤 2中的步骤操作。
- 在仪表板中,增加 Default traffic(默认流量) 和/或 Session affinity traffic(会话亲和性流量) 的 Shed %(卸载百分比)。
- 对于 API,增加
default_percent和/或session_percent的值。
由于卸载 Session Affinity traffic(会话亲和性流量) 将中断现有会话并可能降低客户体验,仅当池有即将变为不健康的危险或池有大量与现有会话相关的流量时才启用此选项。有关更多指导,请参阅卸载策略。
端点不再有风险后,从池移除负载卸载。
要在仪表板中移除负载卸载,执行与通过仪表板配置负载卸载相同的步骤,但将 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(负载卸载),部分流量将进入回退池。要防止任何流量到达回退池,请确保负载均衡器内至少有一个池未启用负载卸载。
如果您在池上启用负载卸载,它将在所有负载均衡器中卸载相同百分比的流量。如果您需要端点在不同负载均衡器中卸载不同百分比的流量,将该端点放入多个池。