高级负载均衡优化

本页面介绍了如何为应用负载均衡器和代理网络负载均衡器配置高级费用、延迟时间和弹性优化。

Cloud Service Mesh 还支持高级负载均衡优化。如需了解详情,请参阅 Cloud Service Mesh 文档中的高级负载均衡概览

Cloud Load Balancing 提供以下高级功能:

  • 服务负载均衡政策。服务负载均衡政策 (serviceLbPolicy) 是与负载均衡器的后端服务关联的资源。借助服务负载均衡政策,您可以自定义以下参数来影响流量在与后端服务关联的后端之间的分配方式:

    • 负载均衡算法。自定义负载均衡算法,用于确定流量在特定区域或可用区中的分配方式。
    • 自动容量排空。启用自动容量排空,以便负载均衡器可以快速排空健康状况不佳的后端中的流量。
    • 故障切换阈值。设置故障切换阈值,以确定何时将后端视为健康状况不佳。这样,流量便可以故障切换到其他后端,以避免健康状况不佳的后端。
    • 流量隔离。通过限制或禁止跨区域流量溢出来防止级联故障。
  • 首选后端。您还可以将特定后端指定为首选后端。这些后端必须先达到最大容量,系统才会向其余的后端发送请求。

下图展示了 Cloud Load Balancing 如何评估路由、负载均衡和流量分配。

Cloud Load Balancing 如何做出路由和流量分配决策。
Cloud Load Balancing 如何做出路由和流量分配决策。

须知事项

在查看本页面的内容之前,请仔细查看外部应用负载均衡器概览页面中所述的请求分配过程。对于始终处于高级层级的负载均衡器,本页面中所述的所有负载均衡算法都支持在区域之间溢出(如果首选区域已满)。

支持的负载均衡器和后端

以下负载均衡器支持服务负载均衡政策和首选后端:

  • 全球外部应用负载均衡器
  • 跨区域内部应用负载均衡器
  • 全局外部代理网络负载均衡器
  • 跨区域内部代理网络负载均衡器

本页面中介绍的功能需要兼容的后端,后端必须支持均衡模式。下表汇总了支持的后端:

后端 是否支持?
实例组
支持可用区级非托管式实例组和可用区级托管式实例组,但不支持区域级托管式实例组。
可用区级 NEG(GCE_VM_IP_PORT 端点)
可用区级 NEG(GCE_VM_IP 端点)
应用负载均衡器和代理网络负载均衡器不支持这类 NEG。
混合 NEG(NON_GCP_PRIVATE_IP_PORT 端点)
无服务器 NEG
互联网 NEG
Private Service Connect NEG

负载均衡算法

本部分介绍了您可以在服务负载均衡政策中配置的负载均衡算法。如果您未配置算法,或根本未配置服务负载均衡政策,则负载均衡器默认使用 WATERFALL_BY_REGION

Waterfall by region

WATERFALL_BY_REGION 是默认负载均衡算法。使用此算法时,从总体上离用户最近的区域中的所有 Google Front End (GFE) 都会尝试根据其配置的目标容量的比例(由其容量扩缩器修改)填充后端。

每个单独的第二层 GFE 倾向于选择尽可能靠近(由网络往返时间定义)第二层 GFE 的可用区中的后端实例或端点。由于 WATERFALL_BY_REGION 会最大限度地缩短可用区之间的延迟时间(在请求速率较低的情况下),因此每个第二层 GFE 可能仅向第二层 GFE 的首选可用区中的后端发送请求。

如果最近区域中的所有后端都以配置的容量限制运行,则流量会开始溢出到下一个最近的区域,同时优化网络延迟时间。

Spray to region

SPRAY_TO_REGION 算法会修改每个第二层 GFE 的单独行为,以使每个第二层 GFE 不会优先选择尽可能靠近第二层 GFE 的可用区中的后端实例或端点。使用 SPRAY_TO_REGION 时,每个第二层 GFE 会向区域的所有可用区中的所有后端实例或端点发送请求,无需优先考虑第二层 GFE 与后端实例或端点之间较短的往返时间。

WATERFALL_BY_REGION 一样,区域中的所有第二层 GFE 都根据其配置的目标容量的比例(由其容量扩缩器修改)填充后端。

虽然 SPRAY_TO_REGION 可在区域的所有可用区中的后端之间实现更均匀的分布(尤其是在请求速率较低的情况下),但这种均匀分布需注意以下事项:

  • 当后端发生故障(但继续通过其健康检查)时,更多第二层 GFE 会受到影响,但个别影响不会太严重。
  • 由于每个第二层 GFE 不会将一个可用区优先于另一个可用区,因此第二层 GFE 会创建更多跨可用区流量。根据处理的请求数,每个第二层 GFE 还可能会创建更多与后端的 TCP 连接。

Waterfall by zone

WATERFALL_BY_ZONE 算法会修改每个第二层 GFE 的单独行为,以使每个第二层 GFE 强烈优先选择可能最靠近第二层 GFE 的可用区中的后端实例或端点。使用 WATERFALL_BY_ZONE 时,如果第二层 GFE 已在其最优先的可用区中填充了(或按比例溢出)后端实例或端点,则每个第二层 GFE 仅会向区域的其他可用区中的后端实例或端点发送请求。

WATERFALL_BY_REGION 一样,区域中的所有第二层 GFE 都根据其配置的目标容量的比例(由其容量扩缩器修改)填充后端。

WATERFALL_BY_ZONE 算法可最大限度地缩短延迟时间,但要注意以下事项:

  • WATERFALL_BY_ZONE 本身不会最大限度地减少跨可用区连接。该算法仅取决于延迟时间。
  • WATERFALL_BY_ZONE 不保证每个第二层 GFE 始终先填充其最优先的可用区,然后再填充其他可用区。维护事件可能会暂时使第二层 GFE 中的所有流量发送到其他可用区中的后端实例或端点。
  • WATERFALL_BY_ZONE 可能会导致整个区域内所有后端实例或端点之间的请求分布不太均匀。例如,第二层 GFE 最优先的可用区中的后端实例或端点可能会填充达到最大容量,而其他可用区中的后端不会填充达到最大容量。

比较负载均衡算法

下表比较了不同的负载均衡算法。

行为 Waterfall by region Spray to region Waterfall by zone
单个区域内的统一容量用量
跨多个区域的统一容量用量
负载均衡器中的统一流量分配
跨可用区流量分配 是。流量会在区域内的各可用区中均匀分配,同时优化网络延迟时间。如果需要,流量可能会跨可用区发送。 是。流量会先流向最近的可用区,直到其达到最大容量。 然后,它流向下一个最近的可用区。
对本地可用区中的流量高峰的敏感度 平均;取决于为在可用区之间保持均衡已迁移了多少流量。 较低;单个可用区高峰分布在区域的所有可用区中。 较高;单个可用区高峰可能完全由同一可用区处理,直到负载均衡器能够做出响应。

自动容量排空和取消排空

自动容量排空和取消排空将健康检查和后端容量的概念相结合。借助自动容量排空,健康检查可用作额外的信号,用于将有效后端容量设置为零。借助自动容量取消排空,健康检查可用作额外的信号,用于将有效后端容量恢复到之前的值。

如果不使用自动容量排空和取消排空功能,如果您想将请求引导离开特定区域中的所有后端,则必须将该区域中每个后端的有效容量手动设置为零。例如,您可以使用容量缩放器来执行此操作。

借助自动容量排空和取消排空,健康检查可用作信号,用于通过排空或取消排空来调整后端的容量。

如需启用自动容量排空和取消排空,请参阅配置服务负载均衡政策

自动容量排空

自动容量排空会将每个可排空候选后端实例组或 NEG 的容量设为零,前提是可排空候选后端实例组或 NEG 与所有后端实例组或 NEG 的比率低于 50%。计算 50% 比率时,容量为零的后端不会纳入分子。不过,所有后端都会纳入分母。

可排空的候选后端是指成员实例或端点通过负载均衡器健康检查的比例低于 25% 的后端实例组或 NEG。

容量为零的后端包括:

  • 没有成员实例的后端实例组,其中实例组容量是按实例定义的
  • 没有成员端点的后端 NEG,其中 NEG 容量是按端点定义的
  • 容量扩缩器已设置为零的后端实例组或 NEG

自动排空的后端容量在功能上等同于手动将后端的 backendService.backends[].capacityScaler 设置为 0,但不会设置容量扩缩器值。

自动容量排空

自动取消排空容量:当至少 35% 的后端实例或端点通过健康检查并持续 60 秒以上时,会将后端的容量返回到由后端容量缩放器控制的值。60 秒的要求可降低在健康检查失败和通过的过程中连续进行排空和取消排空的可能性。

故障切换阈值

负载均衡器以多级层方式确定后端之间的流量分配。在稳定状态下,负载均衡器会将流量发送到根据前面介绍的一种负载均衡算法选择的后端。这些后端称为主要后端,从延迟时间和容量方面来看,会被视为最佳后端。

负载均衡器还会跟踪其他后端,如果主要后端健康状况不佳且无法处理流量,则可以使用其他后端。这些后端称为故障切换后端。这些后端通常是附近具有剩余容量的后端。

如果主要后端中的实例或端点健康状况不佳,则负载均衡器不会立即将流量转移到其他后端。负载均衡器会先将流量转移到同一后端中其他健康状况良好的实例或端点,以帮助稳定流量负载。如果主要后端中有太多端点健康状况不佳,并且同一后端中的其余端点无法处理额外的流量,则负载均衡器会使用故障切换阈值来确定何时开始向故障切换后端发送流量。负载均衡器可以容忍主要后端的健康状况不佳,直到达到故障切换阈值。之后,流量会从主要后端迁出。

故障切换阈值是介于 1 到 99 之间的值,表示为后端中健康状况必须良好的端点的百分比。如果健康状况良好的端点的百分比低于故障切换阈值,则负载均衡器会尝试将流量发送到故障切换后端。默认情况下,故障切换阈值为 70。

如果故障切换阈值设置得过高,则由于暂时性健康状况更改,可能会发生不必要的流量溢出。如果故障切换阈值设置得过低,则即使有许多健康状况不佳的端点,负载均衡器仍会继续向主要后端发送流量。

故障切换决策会本地化。各个本地 Google Front End (GFE) 前端的行为方式彼此独立。您应负责确保故障切换后端可以处理额外的流量。

故障切换流量可能会导致后端过载。即使后端健康状况不佳,负载均衡器仍可能向其发送流量。如需从可用后端池中排除健康状况不佳的后端,请启用自动容量排空功能

流量隔离

默认情况下,Cloud Load Balancing 使用 WATERFALL_BY_REGION 算法来决定用户流量的路由位置。使用 WATERFALL_BY_REGION 时,如果离用户最近的区域中的后端已满或健康状况不佳,流量会溢出到其他区域。启用流量隔离后,即使离用户最近的区域中的所有后端都以配置的容量限制运行,负载均衡器也仅将流量路由到该区域。启用流量隔离有助于防止区域级故障级联,并将潜在的中断限制在单个区域内。

流量隔离是作为服务负载均衡政策的一部分进行配置的。 有两种隔离模式可供选择:

  • NEAREST(默认),其中负载均衡器(即处理连接的第二层 GFE 或 Envoy 代理)将流量发送到距离用户最近的区域中的后端。如果最近的区域中未配置任何后端,或者最近的区域中的后端健康状况不佳,则流量会路由到下一个最近的区域,同时优化网络延迟时间。随着每个区域的服务容量用尽,此过程会继续进行。

    所有受支持的负载均衡器均可使用 NEAREST 隔离模式。

  • STRICT:负载均衡器(即处理连接的 Envoy 代理)仅将流量发送到离用户最近的区域中的后端。如果最近的区域中未配置任何后端,或者最近的区域中的后端健康状况不佳且无法处理请求,则流量会丢弃,并且请求开始失败。

    STRICT 隔离模式仅适用于跨区域内部应用负载均衡器和跨区域内部代理网络负载均衡器。

不隔离

下图展示了在未启用流量隔离的情况下,跨区域负载均衡器的行为。

未启用流量隔离时 Cloud Load Balancing 的行为。
未启用流量隔离时 Cloud Load Balancing 的行为。

最近邻

下图显示了在启用流量隔离并采用 NEAREST 模式时,跨区域负载均衡器的行为方式。

在 NEAREST 模式下启用流量隔离时,Cloud Load Balancing 的行为方式。
在 NEAREST 模式下启用流量隔离时,Cloud Load Balancing 的行为。

严格

下图显示了在启用流量隔离并采用 STRICT 模式时,跨区域负载均衡器的行为方式。

在严格模式下启用流量隔离时,Cloud Load Balancing 的行为方式。
在严格模式下启用流量隔离时,Cloud Load Balancing 的行为。

在启用此功能之前,请注意以下事项:

  • 如果某个区域中的后端过载,负载均衡器仍可能会向这些后端发送额外的流量,即使其他区域中的后端可以处理流量也是如此。这意味着,每个区域中的后端更有可能因流量增加而过载,因此您需要相应地制定计划。

  • 即使启用了隔离,您的流量仍由全球控制平面路由。这意味着,仍有可能出现跨多个区域的全局故障。为了更好地实现基础设施级隔离,请选择区域级负载均衡器

配置流量隔离模式时,您还必须将隔离粒度设置为 REGION,以防止跨区域流量溢出。如果未配置粒度,则不会强制执行流量隔离。如需详细了解如何启用流量隔离,请参阅配置服务负载均衡政策

首选后端

首选后端是指您希望在将流量溢出到其他后端之前优先用尽容量的后端。超出首选后端配置的容量的任何流量都会路由到其余非首选后端。然后,负载均衡算法会在后端服务的非首选后端之间分配流量。

您可以将负载均衡器配置为先首选并完全使用连接到后端服务的一个或多个后端,然后再将后续请求路由到其余后端。

使用首选后端时,请考虑以下限制:

  • 配置为首选后端的后端可能会更远离客户端,导致客户端请求的平均延迟时间较长。即使其他更接近的后端能够以较短的延迟时间为客户端提供服务,也会发生这种情况。
  • 某些负载均衡算法(WATERFALL_BY_REGIONSPRAY_TO_REGIONWATERFALL_BY_ZONE)不适用于配置为首选后端的后端。

如需了解如何设置首选后端,请参阅设置首选后端

配置服务负载均衡政策

通过服务负载均衡政策资源,您可以配置以下字段:

  • 负载均衡算法
  • 自动容量排空
  • 故障切换阈值
  • 流量隔离

如需设置首选后端,请参阅设置首选后端

创建政策

按照以下步骤创建和配置服务负载均衡政策。

控制台

执行以下步骤以创建服务负载均衡政策。

  1. 在 Google Cloud 控制台中,前往负载均衡页面。

    转到“负载均衡”

  2. 点击创建服务负载均衡政策

  3. 输入服务负载均衡政策的名称

  4. 如需启用自动容量排空,请选择排空来自健康状况不佳的后端的流量

  5. 对于故障切换健康状况阈值,请输入一个介于 1 到 99 之间的数字。

  6. 对于流量分配,选择要使用的负载均衡算法。

  7. 点击创建

gcloud

  1. 创建服务负载均衡政策资源。您可以使用 YAML 文件执行此操作,也可以使用 gcloud 参数直接执行此操作。

    • 使用 YAML 文件。您可以在 YAML 文件中指定服务负载均衡政策。以下示例 YAML 文件展示了如何配置负载均衡算法,启用自动容量排空,以及设置自定义故障切换阈值:
    name: projects/PROJECT_ID/locations/global/serviceLbPolicies/SERVICE_LB_POLICY_NAME
    autoCapacityDrain:
        enable: True
    failoverConfig:
        failoverHealthThreshold: FAILOVER_THRESHOLD_VALUE
    loadBalancingAlgorithm: LOAD_BALANCING_ALGORITHM
    isolationConfig:
      isolationGranularity: ISOLATION_GRANULARITY
      isolationMode: ISOLATION_MODE
    

    替换以下内容:

    • PROJECT_ID:项目 ID。
    • SERVICE_LB_POLICY_NAME:服务负载均衡政策的名称。
    • FAILOVER_THRESHOLD_VALUE:故障切换阈值。该值应是 1 到 99 之间的数字。
    • LOAD_BALANCING_ALGORITHM:要使用的负载均衡算法。可以是 SPRAY_TO_REGIONWATERFALL_BY_REGIONWATERFALL_BY_ZONE
    • ISOLATION_GRANULARITY:隔离限制的粒度。为防止跨区域流量溢出,请将此属性设置为 REGION。如果未指定,则不强制执行任何隔离。
    • ISOLATION_MODE:隔离行为。可能的值为 NEARESTSTRICT

    创建 YAML 文件后,将该文件导入新的服务负载均衡政策。

    gcloud network-services service-lb-policies import SERVICE_LB_POLICY_NAME \
       --source=PATH_TO_POLICY_FILE \
       --location=global
    
    • 不使用 YAML 文件。或者,您可以在不使用 YAML 文件的情况下配置服务负载均衡政策功能。

    如需设置负载均衡算法并启用自动排空,请使用以下命令:

    gcloud network-services service-lb-policies create SERVICE_LB_POLICY_NAME \
       --load-balancing-algorithm=LOAD_BALANCING_ALGORITHM \
       --auto-capacity-drain \
       --failover-health-threshold=FAILOVER_THRESHOLD_VALUE \
       --location=global
    

    替换以下内容:

    • SERVICE_LB_POLICY_NAME:服务负载均衡政策的名称。
    • LOAD_BALANCING_ALGORITHM:要使用的负载均衡算法。可以是 SPRAY_TO_REGIONWATERFALL_BY_REGIONWATERFALL_BY_ZONE
    • FAILOVER_THRESHOLD_VALUE:故障切换阈值。该值应是 1 到 99 之间的数字。

    如需配置流量隔离(预览版),请使用以下命令:

    gcloud beta network-services service-lb-policies create SERVICE_LB_POLICY_NAME \
       --isolation-config-granularity=ISOLATION_GRANULARITY \
       --isolation-config-mode=ISOLATION_MODE \
       --location=global
    

    替换以下内容:

    • ISOLATION_GRANULARITY:隔离限制的粒度。为防止跨区域流量溢出,请将此属性设置为 REGION。如果未指定,则不强制执行任何隔离。
    • ISOLATION_MODE:隔离行为。可能的值为 NEARESTSTRICT
  2. 更新后端服务,以使其 --service-lb-policy 字段引用新创建的服务负载均衡政策资源。后端服务只能与一个服务负载均衡政策资源相关联。

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
     --service-lb-policy=SERVICE_LB_POLICY_NAME \
     --global
    

    您还可以在创建后端服务时将服务负载均衡政策与后端服务关联。

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
     --protocol=PROTOCOL \
     --port-name=NAMED_PORT_NAME \
     --health-checks=HEALTH_CHECK_NAME \
     --load-balancing-scheme=LOAD_BALANCING_SCHEME \
     --service-lb-policy=SERVICE_LB_POLICY_NAME \
     --global
    

停用政策中配置的功能

本部分介绍如何重置或停用在服务负载均衡政策中配置的功能。

重置负载均衡算法

如需重置负载均衡算法,请使用以下命令将负载均衡算法恢复为默认值 WATERFALL_BY_REGION

gcloud network-services service-lb-policies update SERVICE_LB_POLICY_NAME \
    --load-balancing-algorithm=WATERFALL_BY_REGION \
    --location=global

重置故障切换阈值

如需重置故障切换阈值,请使用以下命令将故障切换阈值恢复为默认值 70 秒:

gcloud network-services service-lb-policies update SERVICE_LB_POLICY_NAME \
    --failover-health-threshold=70 \
    --location=global

停用自动容量排空

如需停用自动容量排空,请使用以下命令:

gcloud network-services service-lb-policies update SERVICE_LB_POLICY_NAME \
    --no-auto-capacity-drain \
    --location=global

停用流量隔离

如需停用流量隔离(预览版),请将两个隔离配置参数都设置为 UNSPECIFIED,如以下命令所示:

gcloud beta network-services service-lb-policies update SERVICE_LB_POLICY_NAME \
    --isolation-config-granularity=UNSPECIFIED \
    --isolation-config-mode=UNSPECIFIED \
    --location=global

移除政策

如需从后端服务中移除服务负载均衡政策,请使用以下命令:

gcloud compute backend-services update BACKEND_SERVICE_NAME \
    --no-service-lb-policy \
    --global

设置首选后端

您可以使用 Google Cloud CLI 或 API 配置首选后端。

控制台

在 Google Cloud 控制台中创建全球级或跨区域负载均衡器时,您可以将后端指定为首选后端。

在将后端添加到后端服务时,将后端偏好级别字段设置为首选

gcloud

添加首选后端

如需设置首选后端,请在将后端添加到后端服务时使用 gcloud compute backend-services add-backend 命令来设置 --preference 标志。

gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
    ...
    --preference=PREFERENCE \
    --global

PREFERENCE 替换为您要分配给后端的优先级别。可以是 PREFERREDDEFAULT

该命令的其余部分取决于您使用的后端类型(实例组或 NEG)。如需了解所有必需参数,请参阅 gcloud compute backend-services add-backend 命令

更新后端的优先设置

如需更新后端的 --preference 参数,请使用 gcloud compute backend-services update-backend 命令

gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \
    ...
    --preference=PREFERENCE \
    --global

该命令的其余部分取决于您使用的后端类型(实例组或 NEG)。以下示例命令会更新后端实例组的优先设置并将其设置为 PREFERRED

gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \
    --instance-group=INSTANCE_GROUP_NAME \
    --instance-group-zone=INSTANCE_GROUP_ZONE \
    --preference=PREFERRED \
    --global

API

如需设置首选后端,请使用全球性 backendServices 资源对每个后端设置 preference 标志。

以下示例展示了如何配置后端优先设置:

  name: projects/PROJECT_ID/locations/global/backendServices/BACKEND_SERVICE_NAME
  ...
  - backends
      name: BACKEND_1_NAME
      preference: PREFERRED
      ...
  - backends
      name: BACKEND_2_NAME
      preference: DEFAULT
      ...

替换以下内容:

  • PROJECT_ID:项目 ID
  • BACKEND_SERVICE_NAME:后端服务的名称
  • BACKEND_1_NAME:首选后端的名称
  • BACKEND_2_NAME:默认后端的名称

问题排查

当您将新的服务负载均衡政策附加到后端服务时,流量分配模式可能会发生变化。

如需调试流量问题,请使用 Cloud Monitoring 查看流量在负载均衡器和后端之间流动的方式。Cloud Load Balancing 日志和指标也可以帮助您了解负载均衡行为。

本部分汇总了您在开启每项功能后可能会看到的一些常见场景。

负载均衡算法

来自单个来源的流量发送到过多不同的后端

这是 SPRAY_TO_REGION 算法的预期行为。但是,您可能会遇到流量分配范围更大导致的问题。例如,由于后端看到来自更多客户端的流量,缓存命中率可能会降低。在这种情况下,请考虑使用其他算法,例如 WATERFALL_BY_REGION

自动容量排空

流量未发送到具有大量健康状况不佳的端点的后端

这是启用 autoCapacityDrain 时的预期行为。具有大量健康状况不佳的端点的后端会被排空并从负载均衡池中移除。如果您不希望发生此行为,可以停用自动容量排空。但是,这意味着流量可能会发送到具有大量健康状况不佳的端点的后端,并且请求可能会失败。

故障切换阈值

流量在暂时性健康状况更改期间发送到远程后端

这是故障切换阈值设置为较高值时的预期行为。如果您希望在发生暂时性健康状况更改时流量继续流向主要后端,请将此字段设置为较低值。

健康状况良好的端点在其他端点健康状况不佳时过载

这是故障切换阈值设置为较低值时的预期行为。当端点健康状况不佳时,发往这些健康状况不佳的端点的流量会改为分布在同一后端中的其余端点之间。如果您希望更快地触发故障切换行为,请将此字段设置为更高的值。

首选后端

流量先发送到距离更远的后端,然后再发送到距离更近的后端

如果首选后端比默认后端距离更远,则这是预期行为。如果您不希望发生此行为,请相应地更新每个后端的优先设置。

使用首选后端时流量未发送到某些后端

这是首选后端尚未达到最大容量时的预期行为。系统会先根据到首选后端的往返延迟时间分配这些后端。

如果您希望将流量发送到其他后端,可以执行以下操作之一:

  • 更新其他后端的优先设置。
  • 为首选后端设置较低的目标容量设置。目标容量是使用 max-ratemax-utilization 字段配置的,具体取决于后端服务的均衡模式

流量隔离

发送到跨区域内部负载均衡器的请求失败

如果启用了 STRICT 隔离模式,并且在与负载均衡器相同的区域中未配置任何后端,则流量预计会失败。如果这不是预期行为,请确保您在希望发送流量的区域中都有后端。或者,将隔离模式设置为 NEAREST,以便将流量路由到下一个最近的区域。

流量从远程区域路由到更近的区域

请求隔离可防止基于容量的流量溢出。因此,如果您在启用此功能之前后端已过载,流量可能已经发送到远程区域。在这种情况下,启用此功能可能会导致此流量路由回最近的区域。

启用流量隔离后,流量未重新路由

请求隔离可防止基于容量的流量溢出。因此,如果您最近区域中的后端在启用此功能之前未过载,则最近区域很可能能够处理所有流量。在这种情况下,预计短期内流量路不会发生任何变化。这可能会随着流量的变化而变化。

向区域添加后端或从区域移除后端时,流量会发生变化

这是预期行为,因为负载均衡器会尝试路由流量,以优化整体网络延迟。因此,当在更近的区域中部署新的后端时,负载均衡器可能会向该区域发送更多流量。同样,当后端移除时,负载均衡器会根据您的请求隔离设置,开始将溢出流量发送到更远的区域。

限制

  • 每个后端服务只能与单个服务负载均衡政策资源关联。