Azure Load Balancer 演算法

Azure Load Balancer 是 Azure 最高效能的負載平衡器,始終保持超低延遲。 若要深入了解 Azure Load Balancer,請造訪 Azure Load Balancer 概觀 或 Azure Load Balancer 元件

Azure Load Balancer 使用元組型的雜湊作為負載平衡演算法。

負載平衡演算法

您可以建立負載平衡器規則,將來自負載平衡器前端的輸入流量分散到其後端集區。 Azure Load Balancer 使用雜湊演算法來分配輸入流量 (不是位元組)。 負載平衡器會在將流量導向至後端集區執行個體時,重寫 TCP/UDP 標頭流程的標頭 (負載平衡器不會重寫 HTTP/HTTPS 標頭)。 當負載平衡器的健全狀態探查指出後端端點狀況良好時,可使用後端執行個體來接收新的流量流程。

根據預設,Azure Load Balancer 會使用五元組的雜湊。

這五元組包含:

  • 來源 IP 位址
  • 來源連接埠
  • 目的地 IP 位址
  • 目的地連接埠
  • 將流量對應至可用伺服器的 IP 通訊協定編號

您也可以使用工作階段親和性分配模式,使用以兩元組或三元組為基礎的負載平衡。

Azure Load Balancer 支援任何 TCP/UDP 應用程式案例,且不會關閉或產生流程。 負載平衡器也不會與任何流程的承載互動。 對負載平衡器而言,應用程式承載是透明可見的。 任何 UDP 或 TCP 應用程式均受支援。

負載平衡器會在第 4 層運作,而且不會提供應用層閘道功能。 通訊協定交握一律會在用戶端與後端集區執行個體之間直接執行。 由於負載平衡器不會與 TCP 裝載互動,也不提供 TLS 卸載,您可以建置全面加密的案例。 使用負載平衡器,可藉由終止 VM 本身的 TLS 連線,讓 TLS 應用程式進行大規模的向外延展。 舉例而言,您的 TLS 工作階段金鑰處理容量只會受限於您新增至後端集區的虛擬機器類型和數量。

輸入流程的回應一律是來自虛擬機器的回應。 當流程到達虛擬機器時,也會保留原始的來源 IP 位址。 每個端點只會由一個 VM 回應。 例如,TCP 交握會在用戶端和選取的後端 VM 之間執行。 前端要求的回應是由後端 VM 產生的回應。 當您順利驗證前端的連線時,即驗證了至少已連線至一個後端虛擬機器。

下一步