管理本地数据网关高可用性群集和负载均衡

可以使用本地数据网关群集来避免单一故障点并在群集中对网关之间的流量进行负载均衡。 若要将新的网关成员添加到网关群集中,请转到添加其他网关以创建群集

适用于本地数据网关的高可用性群集

可以创建网关安装的高可用性群集。 群集有助于确保组织可以从云服务(如 Power BI 和 Power Apps)访问本地数据资源。 网关管理员使用此类群集来避免在访问本地数据资源时出现单一故障点。 每个群集最多可以支持 10 个网关成员。

除非网关不可用,否则网关云服务始终在群集中使用主网关。 在这种情况下,该服务将切换到群集中的下一个可用网关。 每个群集最多支持十个网关成员(有时称为节点)。

注意

请确保群集中的网关成员运行同一个网关版本,因为根据支持的功能,不同版本可能会导致意外失败。 当前运行 10 个以上成员的网关群集将继续运行,但不允许添加新成员,除非先删除某个成员。 使用 Dataflows Gen2 时,群集中的主成员必须正常运行才能创建新连接或编辑现有连接。

管理网关群集

创建包含两个或多个网关的群集后,所有网关管理操作都会应用于群集中的每个网关。 这些操作包括授予对网关的管理权限,以及添加数据源或连接。

例如,当管理员在 Power BI 中选择“管理网关”时,将显示已注册的群集或各个网关的列表。 但是,作为群集成员的各个网关实例不会显示。

所有请求都会路由到网关群集的主实例。 如果主网关实例未处于联机状态,则请求会路由到群集中的另一个网关实例。

群集中跨网关的负载均衡

可以选择让流量跨群集中的网关均匀分布。 默认情况下,在负载均衡期间选择的网关(即启用“跨此群集中的所有活动网关分布请求”时)是随机的。 可以更改此设置以分布负载。

注意

建议禁用或删除群集中的脱机网关成员。 如果网关成员处于脱机状态而不是被禁用或删除,我们可能会先尝试对该脱机成员执行查询,然后再移至下一个成员。 这会对性能产生负面影响。

例如,若要从 Power BI 服务提供负载均衡,请选择右上角的齿轮图标 齿轮图标。,然后选择“管理网关”。 接下来,选择“跨此群集中的所有活动网关分布请求”。

网关群集设置。

基于 CPU 和内存限制的负载均衡

如前面提到的,负载均衡期间网关的选择是随机的。 但是,网关管理员可以限制每个网关成员的资源使用。 通过限制,可以确保网关成员或整个网关群集没有过载。 过载的系统资源可能会导致请求失败。

如果启用了负载均衡的网关群集从云服务(例如 Power BI)之一接收到请求,它将随机选择一个网关成员。 如果此成员网关已达到或超过下面指定的限制之一,将选择群集中的另一个成员。 如果群集中的所有成员都处于相同状态,请求将失败。

网关管理员应更新 Program Files\On-premises data gateway 文件夹中提供的 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 文件中的以下设置以调整限制。 默认会启用并发限制。

  • CPUUtilizationPercentageThreshold - 此配置允许网关管理员为 CPU 设置限制。 此配置的允许范围是 0 到 100。 默认值为 0,表示禁用此配置。

  • MemoryUtilizationPercentageThreshold - 此配置允许网关管理员为内存设置限制。 此配置的允许范围是 0 到 100。 默认值为 0,表示禁用此配置。

  • ResourceUtilizationAggregationTimeInMinutes - 此配置设置网关计算机的 CPU 和内存系统计数器聚合的时间(以分钟为单位)。 然后将聚合的值与为 CPUUtilizationPercentageThreshold 和 MemoryUtilizationPercentageThreshold 设置的相应阈值限制进行比较。 此配置的默认值为 5。

在设置的阈值下,总体资源利用率不固定。 网关群集成员接受后,请求可根据需要分配 CPU 和内存。

注意

还可以通过 PowerShell 更改负载均衡设置。

遇到限制时出现的错误示例

The gateway you selected can't establish data source connections because it's exceeded the CPU limit set by your gateway admin. Try again later, or ask your gateway admin to increase the limit.

The gateway you selected can't establish data source connections because it's exceeded the memory limit set by your gateway admin. Try again later, or ask your gateway admin to increase the limit.

The gateway you selected can't establish data source connections because it's exceeded the concurrency limit set by your gateway admin. Try again later, or ask your gateway admin to increase the limit.

后续步骤

网关群集的 PowerShell 支持