2015-10-27 58 views
0

標題說明了幾乎所有事情:假設我在一個雲服務中創建了3個虛擬機,並在端口80上進行負載平衡。現在有一個對雲服務的請求:負載均衡器如何決定這3個虛擬機中的哪一個應該路由此請求?是否有特定的度量標準或負載均衡器是否隨機路由?負載平衡器如何決定如何路由請求?

回答

3

Microsoft Azure負載均衡器是一種第4層類型的負載均衡器。 Microsoft Azure負載平衡器通過計算給定輸入端點上接收到的流量的散列函數,在一組可用服務器(虛擬機)之間分配負載。散列函數是 計算,使得來自同一連接(TCP或 UDP)的所有數據包最終在同一臺服務器上。 Microsoft Azure負載平衡器使用一個5元組(源IP,源端口,目標IP,目標端口, 協議類型)使用 來計算用於將流量映射到可用服務器的散列​​。散列函數的選擇使得與服務器的連接分佈相當隨機。但是,根據流量模式, 可能會將不同連接 映射到同一臺服務器。

全部細節:https://azure.microsoft.com/en-us/blog/microsoft-azure-load-balancing-services/

+0

所以,如果我理解正確,映射應該是隨機?那麼我只是測試了這一點:使用2個虛擬機創建雲服務,在端口80上激活負載均衡,但在這兩個虛擬機上設置_different_前端-html頁面。當我現在在我的瀏覽器中訪問my.cloudapp.net(並且多次嘗試多次)時,我總是收到_same_前端。所以沒有隨機性...... – Munchkin

+0

有趣。雖然如果你從公司網絡訪問,那麼5個元組值中的4個肯定是相同的。我希望源端口改變,但是,如果通過防火牆/代理等訪問,這是確定的?我仍然從中讀到,在具有公共流量的生產環境中,客戶端本質上將被分配一個隨機服務器,並且總體上流量將會或多或少地均勻分佈。 –