負載平衡一詞是指將工作負載分散到多個運算資源。 負載平衡旨在將資源使用情況最佳化、最大化輸送量、將回應時間縮到最短,以及避免多載任何單一資源。 還可以在備援運算資源之間分攤工作負載,以改善可用性。
Azure 提供各種負載平衡服務,可讓您用來將工作負載分散到多個運算資源 - 應用程式閘道、Front Door、Load Balancer和流量管理員。
本文說明如何使用Azure 入口網站中的 Azure 負載平衡中樞頁面,來判斷適合您業務需求的負載平衡解決方案。
服務分類
Azure 負載平衡服務可以沿著兩個維度分類:全域與區域,以及 HTTP (S) 與非 HTTP (S) 。
全球與區域
全球負載平衡服務將流量分散到區域後端、雲端或混合式內部部署服務。 這些服務將終端使用者流量路由傳送至最接近的可用後端。 也會對服務可靠性或效能的變化做出反應,以最大化可用性和效能。 可視為在跨不同區域/地理位置託管的應用程式戳記、端點或縮放單位之間負載平衡的系統。
區域 負載平衡服務會將虛擬網路內的流量分散到虛擬機器中, (VM) 或區域內和區域備援服務端點。 可視為在虛擬網路中某個區域內的 VM、容器或叢集之間負載平衡的系統。
HTTP(S) 與非 HTTP(S)
HTTP (S) 負載平衡服務是第 7 層 負載平衡器,只接受 HTTP (S) 流量。 主要用於 Web 應用程式或其他 HTTP(S) 端點。 包括 SSL 卸載、Web 應用程式防火牆、路徑式負載平衡和工作階段親和性等功能。
非 HTTP/S 負載平衡服務可以處理非 HTTP (S) 流量,建議用於非 Web 工作負載。
下表摘要說明下列類別的 Azure 負載平衡服務:
服務 | 全域/區域 | 建議流量 |
---|---|---|
Azure Front Door | 全球 | HTTP(S) |
流量管理員 | 全球 | non-HTTP(S) |
應用程式閘道 | 地區 | HTTP(S) |
Azure Load Balancer | 地區 | non-HTTP(S) |
Azure 負載平衡服務
以下是 Azure 中目前可用的主要負載平衡服務:
Front Door 是一種應用程式傳遞網路,可為 Web 應用程式提供全域負載平衡和網站加速服務。 為應用程式提供第 7 層功能,例如 SSL 卸載、路徑式路由、快速容錯移轉、快取等,可改善應用程式的效能和高可用性。
注意
目前,Azure Front Door 不支援 Web 通訊端。
流量管理員 是以 DNS 為基礎的流量負載平衡器,可讓您以最佳方式將流量分散到全球 Azure 區域的服務,同時提供高可用性和回應性。 因為流量管理員是 DNS 型負載平衡服務,所以只在網域層級負載平衡。 基於這個理由,DNS 快取和系統不接受 DNS TTL 的常見挑戰,其無法像 Front Door 一樣快速容錯移轉。
應用程式閘道提供應用程式傳遞控制器 (ADC) 即服務,並提供各種第 7 層負載平衡功能。 用於將 CPU 密集 SSL 終止卸載至應用程式閘道,使 Web 伺服陣列生產力最佳化。
Azure Load Balancer是高效能、超低延遲第 4 層負載平衡服務, (所有 UDP 和 TCP 通訊協定的輸入和輸出) 。 旨在每秒處理數百萬個要求,同時確保解決方案的高可用性。 Azure Load Balancer 是區域備援,可確保跨可用性區域的高可用性。
注意
Azure Load Balancer跨區域負載平衡的支援處於預覽狀態。 如需詳細資訊,請參閱跨區域負載平衡器。
使用 Azure 入口網站 選擇負載平衡解決方案
您可以使用Azure 入口網站中的 [Azure 負載平衡] 頁面,協助您瞭解適合您業務需求的正確負載平衡解決方案。 Azure 負載平衡包含下一節工作流程中所述的決策制定查詢,並可依下列方式存取:
在 https://portal.azure.com 登入 Azure 入口網站。
在入口網站頂端的 [ 搜尋資源、服務和檔 ] 方塊中,輸入 負載平衡。 當搜尋結果中出現負載平衡時,請選取它。
注意
若要瞭解選取負載平衡解決方案時所考慮的一些因素,請參閱本文 中適用于 Azure 中負載平衡的決策樹 。
在 負載平衡 - 協助我選擇 [預覽) ] 頁面 (,執行下列其中一項:
參考架構範例
下表列出以作為解決方案之負載平衡服務為基礎的各種架構參考文章。
服務 | 發行項 | 描述 |
---|---|---|
Load Balancer | 跨可用性區域) (虛擬機器的負載平衡 | 跨可用性區域的 VM 負載平衡有助於保護您的應用程式和資料免于發生不太可能失敗或遺失整個資料中心。 透過區域備援,即便有一或多個可用性區域可能失敗,但是地區中只要有一個區域維持良好狀況,資料路徑就得以存留。 |
Front Door | 使用低成本的無伺服器 Azure 服務即時共用位置 | 使用 Azure Front Door 為您的應用程式提供比部署至單一區域更高的可用性。 如果區域中斷會影響主要區域,您可以使用 Front Door 容錯移轉到次要地區。 |
應用程式閘道 | IaaS:具有關系資料庫的 Web 應用程式 | 瞭解如何使用分散在多個區域的資源來提供高可用性 (HA) 架構,以裝載基礎結構即服務 (IaaS) Web 應用程式和SQL Server資料庫。 |
流量管理員 | 針對高可用性和災害復原所建置的多層式 Web 應用程式 | 部署專為高可用性和災害復原所建置的復原多層式應用程式。 如果主要區域無法使用,流量管理員會容錯移轉至次要區域。 |
Azure Front Door + 應用程式閘道 | Azure 上的多租用戶 SaaS | 使用包含 Front Door 和應用程式閘道組合的多租使用者解決方案。 Front Door 可協助平衡跨區域流量的負載,應用程式閘道路由和對應用程式中內部流量進行負載平衡,以符合用戶端業務需求的各種服務。 |
流量管理員 + Load Balancer | 多重區域多層式架構 (N-tier) 應用程式 | 使用流量管理員將連入要求路由傳送至主要區域的多區域 N 層應用程式,如果該區域無法使用,流量管理員就會容錯移轉至次要區域。 |
流量管理員 + 應用程式閘道 | 使用流量管理員和應用程式閘道的多區域負載平衡 | 瞭解如何為 Web 工作負載提供服務,並在多個 Azure 區域中部署復原的多層式應用程式,以達到高可用性和健全的災害復原基礎結構。 |
Azure 中負載平衡的決策樹
選取負載平衡選項時,以下是當您在 Azure 負載平衡中選取 [協助我選擇] 預設索引標籤時所考慮的一些要素:
- 流量類型。 是否為 Web (HTTP/HTTPS) 應用程式? 是否為公開或私人應用程式?
- 全域與 區域. 您需要平衡虛擬網路內的 VM 或容器的負載,或是區域之間縮放單位/部署的負載,還是兩者都是?
- 可用性。 服務的 SLA 為何?
- 成本。 請參閱 Azure 定價。 除了服務本身的成本,請考慮用於管理該服務上所建置解決方案的作業成本。
- 功能和限制。 每個服務的整體限制為何? 請參閱服務限制。
下列流程圖可協助您選擇應用程式適用的負載平衡解決方案。 此流程圖會引導您完成一組重要決策準則,以導出建議事項。
您可將此流程圖當成起點。 每個應用程式各有不同的需求,因此將此建議視為起始點。 然後執行更詳細的評估。
如果您的應用程式包含多個工作負載,請個別評估每個工作負載。 完整的解決方案包含兩個以上的負載平衡解決方案。
定義
網際網路面向。 可從網際網路公開存取的應用程式。 最佳做法是,應用程式擁有者會套用嚴格的存取原則,或藉由設定 Web 應用程式防火牆和 DDoS 保護等供應專案來保護應用程式。
全域。 終端使用者或用戶端位於小型地理區域之外。 例如,跨多個大陸、跨大陸的國家/地區,或甚至是跨較大國家/地區內的多個城市區域的使用者。
PaaS。 平臺即服務 (PaaS) 服務提供受控裝載環境,您可以在其中部署應用程式,而不需要管理 VM 或網路資源。 在此情況下,PaaS 是指在區域內提供整合式負載平衡的服務。 請參閱 選擇計算服務 – 延展性。
AKS。 Azure Kubernetes Service可讓您部署和管理容器化應用程式。 AKS 提供無伺服器 Kubernetes、整合式持續整合和持續傳遞 (CI/CD) 體驗,以及企業級的安全性與控管。 如需 AKS 架構資源的詳細資訊,請參閱Azure Kubernetes Service (AKS) 架構設計。
IaaS。 基礎結構即服務 (IaaS) 是一種計算選項,可讓您布建所需的 VM 以及相關聯的網路和儲存體元件。 IaaS 應用程式需要使用Azure Load Balancer,在虛擬網路內進行內部負載平衡。
應用層處理 是指虛擬網路內的特殊路由。 例如,跨 VM 或虛擬機器擴展集的虛擬網路內路徑型路由。 如需詳細資訊,請參閱何時應該在 Front Door 後方部署應用程式閘道?。
效能加速 是指加速 Web 存取的功能。 這可透過使用內容傳遞網路 (CDN) 或優化目前點, (POP) 輸入,加速用戶端上線至目的地網路。 Azure Front Door 同時支援 CDN 和 Anycast 流量加速。 這兩個功能的優點都可以在架構中取得或不使用應用程式閘道。