Azure Load Balancer 支援下列發佈模式,用於將連線路由至後端集區中的執行個體:
| 發佈模式 | 雜湊型 | 工作階段持續性:用戶端 IP | 工作階段持續性:用戶端 IP 與通訊協定 |
|---|---|---|---|
| 概觀 | 來自相同用戶端 IP 的流量會路由至後端集區中的任何健全執行個體 | 來自相同用戶端 IP 的流量會路由至相同的後端執行個體 | 來自相同用戶端 IP 與通訊協定的流量會路由至相同的後端執行個體 |
| Tuples | 五元組 | 二元組 | 三元組 |
| Azure 入口網站組態 | 工作階段持續性:無 | 工作階段持續性:用戶端 IP | 工作階段持續性:用戶端 IP 與通訊協定 |
| REST API | "loadDistribution":"Default" |
"loadDistribution":SourceIP |
"loadDistribution":SourceIPProtocol |
在負載平衡器上於不同發佈模式之間切換時不會發生停機。
雜湊型
Azure Load Balancer 預設使用以五元組為基礎的雜湊型發佈模式。
五元組包含:
- 來源 IP
- 來源連接埠
- 目的地 IP
- 目的地連接埠
- 通訊協定類型
雜湊會用來將流量路由至後端集區中健全的後端執行個體。 此演算法只會在傳輸工作階段內提供黏著性。 當用戶端從相同的來源 IP 啟動新的工作階段時,來源連接埠會變更,並導致流量前往不同的後端執行個體。
為了設定以雜湊為基礎的發佈項目,您必須在 Azure 入口網站中將工作階段持續性選取為無。 這表示來自相同用戶端的連續要求可以由任何虛擬機器處理。
工作階段持續性
工作階段持續性也稱為工作階段親和性、來源 IP 親和性或用戶端 IP 親和性。 此發佈模式會使用二元組 (來源 IP 與目的地 IP) 或三元組 (來源 IP、目的地 IP 與通訊協定類型) 雜湊,將流量路由至後端執行個體。 使用工作階段持續性時,來自相同用戶端的連線會在後端集區內導向相同的後端執行個體。
工作階段持續性模式有兩種設定類型:
用戶端 IP (二元組)-指定來自相同用戶端 IP 位址的連續要求會由相同的後端執行個體處理。
用戶端 IP 與通訊協定 (三元組)-指定來自相同用戶端 IP 位址與通訊協定組合的連續要求會由相同的後端執行個體處理。
下圖說明二元組組態。 請注意二元組如何通過負載平衡器並導向虛擬機器 1 (VM1)。 VM1 由 VM2 與 VM3 備援。
使用案例
以用戶端 IP 與通訊協定為基礎的來源 IP 親和性 (來源 IP 親和性三元組),可解決 Azure Load Balancer 與遠端桌面閘道 (RD Gateway) 之間的不相容問題。
另一個使用案例情境是媒體上傳。 資料上傳透過 UDP 進行,而控制平面則透過 TCP 達成:
- 用戶端會對負載平衡的公用位址啟動 TCP 工作階段,並導向特定的 DIP。 系統會保持通道啟用以監視連線的健全狀態。
- 來自相同用戶端電腦的新 UDP 工作階段會對相同的負載平衡公用端點啟動。 連線會導向與先前 TCP 連線相同的 DIP 端點。 媒體上傳可以在維持 TCP 控制通道的同時,以高輸送量執行。
附註
當 Load Balancer 後端集區成員因新增或移除虛擬機器而變更時,用戶端要求的發佈項目會重新計算。 您無法保證來自既有用戶端的新連線仍會落在相同的伺服器上。 此外,使用來源 IP 親和性發佈模式可能會造成流量分配不平均。 在 Proxy 後方執行的用戶端可能會被視為單一唯一的用戶端應用程式。
後續步驟
如需了解如何設定 Azure Load Balancer 的發佈模式,請參閱為 Azure Load Balancer 設定發佈模式。