您可以使用內部部署數據閘道叢集來避免單一失敗點,並在叢集中跨閘道的流量進行負載平衡。 若要將新的閘道成員新增至閘道叢集,請移至 新增另一個閘道以建立叢集。
本地部署資料閘道器的高可用性叢集
您可以建立高可用性的閘道安裝叢集。 叢集可協助確保您的組織可以從Power BI和Power Apps等雲端服務存取內部部署數據資源。 網關系統管理員會使用這類叢集,以避免存取內部部署數據資源時出現單一失敗點。 每個叢集最多可支援10個閘道成員。
網關雲端服務一律會在叢集中使用主要閘道,除非該閘道無法使用。 在此情況下,服務會切換至叢集中的下一個可用網關。 每個叢集最多支援10個閘道成員(有時稱為節點)。
注意
請確定叢集中的閘道成員執行相同的閘道版本,因為不同的版本可能會根據支援的功能造成非預期的失敗。 目前執行超過10個成員的閘道叢集會繼續運作,但除非先刪除成員,否則不允許新增。 當您使用 Dataflow Gen2 時,叢集中的主要成員必須啟動才能建立新的連線或編輯現有的連線。
管理閘道叢集
建立兩個或以上閘道的叢集之後,所有閘道管理作業都會套用至叢集中的每個閘道。 這些作業包括將管理權限授與閘道,以及新增資料來源或連線。
例如,當系統管理員選取 [管理 Power BI 中的 連線和閘道 ] 時,會顯示已註冊叢集或個別閘道的清單。 但是不會顯示屬於叢集成員的個別網關實例。
所有要求都會路由至閘道叢集的主要執行個體。 如果主要閘道執行個體不在線上,要求就會被路由至叢集中的另一個閘道執行個體。
在叢集中的閘道之間進行負載平衡
您可以選擇將流量平均分散至叢集中的所有閘道。 根據預設,當啟用「將要求分配到此叢集中所有作用中的閘道」功能時,負載平衡期間的閘道選擇是隨機進行的。 您可以變更此設定以分散負載。
當叢集 中所有活躍閘道間的分發請求 被停用時,叢集會採用輪詢分配方式,將請求路由到可用閘道成員之間,而非隨機選擇。
注意
建議您停用或移除叢集中的離線閘道成員。 如果閘道成員離線,而不是停用或移除,我們可能會嘗試在該離線成員上執行查詢,然後再移至下一個成員。 此動作可能會對效能造成負面影響。
例如,若要從 Power BI 服務提供負載平衡,請選取右上角的齒輪圖示
,然後選取 [ 管理連線和網關]。 接下來,選取 [ 將要求分配到此叢集中所有作用中的閘道]。
根據 CPU 和記憶體限制進行負載平衡
如先前所述,在負載平衡期間選取網關是隨機的。 不過,閘道管理員可以節流每個閘道成員的資源使用量。 透過節流,您可以確定閘道成員或整個閘道叢集未超載。 多載的系統資源可能會導致要求失敗。
如果已啟用負載平衡的閘道叢集收到來自其中一個雲端服務的要求(例如 Power BI),則會隨機選取閘道成員。 如果這個成員閘道已經位於或超過下面指定的其中一個節流限制,則會選取叢集中的另一個成員。 如果叢集中的所有成員都處於相同的狀態,要求就會失敗。
網關系統管理員應該更新 Program Files\On-premises 數據閘道資料夾中可用的 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.