探索負載平衡

已完成

「負載平衡」一詞是指將工作負載 (也就是傳入網路流量) 平均分散到一組後端運算資源或伺服器。 負載平衡旨在將資源使用情況最佳化、最大化輸送量、將回應時間縮到最短,以及避免多載任何單一資源。 還可以在備援運算資源之間分攤工作負載,以改善可用性。

適用於 Azure 的負載平衡選項

Azure 提供各種負載平衡服務,可用來將工作負載分散到多個運算資源,但以下是主要服務:

  • Azure Load Balancer - 高效能、超低延遲第 4 層負載平衡服務 (傳入和傳出),適用於所有 UDP 和 TCP 通訊協定。 旨在每秒處理數百萬個要求,同時確保解決方案的高可用性。 Azure Load Balancer 是區域備援,可確保跨可用性區域的高可用性。
  • 流量管理員 - DNS 型流量負載平衡器,可讓您以最佳方式將流量分散到全球 Azure 區域的服務,同時提供高可用性和回應性。 因為流量管理員是 DNS 型負載平衡服務,所以只在網域層級負載平衡。 因此,礙於 DNS 快取和系統不理會 DNS 存留時間值 (TTL) 而引發的常見難題,無法像 Front Door 那麼快容錯移轉。
  • Azure 應用程式閘道 -以服務形式提供應用程式傳遞控制器 (ADC),提供各種第 7 層負載平衡功能。 用於將 CPU 密集 SSL 終止卸載至應用程式閘道,使 Web 伺服陣列生產力最佳化。
  • Azure Front Door - 應用程式傳遞網路,為 Web 應用程式提供全球負載平衡和網站加速服務。 為應用程式提供第 7 層功能,例如 SSL 卸載、路徑式路由、快速容錯移轉、快取等,可改善應用程式的效能和高可用性。

分類負載平衡服務

上述負載平衡服務有兩種分類方式:全球與區域,HTTP(S) 與非 HTTP(S)。

全球與區域

全球負載平衡服務將流量分散到區域後端、雲端或混合式內部部署服務。 這些服務將終端使用者流量路由傳送至最接近的可用後端。 也會對服務可靠性或效能的變化做出反應,以最大化可用性和效能。 可視為在跨不同區域/地理位置託管的應用程式戳記、端點或縮放單位之間負載平衡的系統。

相反地,區域負載平衡服務將虛擬網路內的流量分散到區域內的虛擬機器 (VM),或區域性和區域備援服務端點。 可視為在虛擬網路中某個區域內的 VM、容器或叢集之間負載平衡的系統。

HTTP(S) 與非 HTTP(S)

HTTP(S) 負載平衡服務是只接受 HTTP(S) 流量的第 7 層負載平衡器。 它們適用于 Web 應用程式或其他 HTTP(S) 端點。 包括 SSL 卸載、Web 應用程式防火牆、路徑式負載平衡和工作階段親和性等功能。

相反地,非 HTTP(S) 負載平衡服務可以處理非 HTTP(S) 流量,建議用於非 Web 工作負載。

下表彙總每個 Azure 負載平衡服務的這些分類。

服務 全球/區域 建議的流量
Azure Front Door 全域 HTTP(S)
流量管理員 全域 非 HTTP(S)
應用程式閘道 地區 HTTP(S)
Azure Load Balancer 區域或全域 非 HTTP(S)

選擇適用於 Azure 的負載平衡選項

選擇適當的負載平衡選項時,需要考慮一些重要因素:

  • 流量類型 - 適用於 Web 應用程式嗎? 這是公開還是私人的應用程式?
  • 範圍 - 您需要平衡虛擬網路內的虛擬機器和容器的負載、跨區域平衡負載,還是兩者都應該做? (請參閱上方的「全球」和「區域」)
  • 可用性 - 服務具有什麼服務等級協定 (SLA)?
  • 成本 - 除了實際服務本身的成本之外,也要考慮管理及維護以該服務為基礎的解決方案時的營運成本。 請參閱負載平衡定價
  • 功能和限制 - 每個服務提供哪些功能和優點及其有何限制? 請參閱負載平衡器限制

下列流程圖透過一組重要的決策準則引導您取得建議,協助您為應用程式選取最適當的負載平衡解決方案。

flow chart to help select a load-balancing solution for your application.

每個應用程式有其各自獨特的需求,您應該只將此流程圖和建議當做起點,然後自行進行更詳細的評估,為您的環境選取最佳選項。

若應用程式包含多個工作負載,則請分別評估各項工作負載。 完整的解決方案可能包含兩個或兩個以上的負載平衡解決方案。

使用 Azure 入口網站選取負載平衡解決方案

您可以使用 Azure 入口網站中的 [Azure 負載平衡] 頁面,協助您找到符合商務需求的負載平衡解決方案。 Azure 負載平衡包含上方工作流程圖所述的決策查詢。

  • 登入 Azure 入口網站 https://portal.azure.com

  • 在頁面頂端的搜尋方塊中,輸入「負載平衡器」。 當負載平衡 - 協助我選擇 [預覽] 出現在搜尋結果中時,請選取它。

    Azure portal screenshot of Load balancing - help me choose.

  • 回答這個頁面上的 [是] 或 [否] 問題,以取得建議的解決方案。 請注意,最終建議的解決方案可能是多個負載平衡服務的組合。

    Azure portal screenshot load balancing help me choose.

  • 視您提供哪些答案而定,可能的負載平衡服務清單會變更。

    Azure portal screenshot Load balancing help me choose.

  • 您也可以選擇選取 [服務比較 ] 或 [教學課程 ] 索引標籤,以取得不同負載平衡服務的詳細資訊和訓練。

現在讓我們更詳細看看每個主要的 Azure 負載平衡服務。

檢定您的知識

1.

工程師有一個安全 Web 應用程式遇到高流量,他們想要使用負載平衡器來分散工作負載。 哪些負載平衡器支援這種流量?

2.

哪種類型的負載平衡服務會將流量分散到 Web 應用程式的全域後端?