為了防止單點故障,因為Azure提供的負載均衡器是高可用的,自己部署ARR也希望通過負載均衡高可用的話也需要通過建構ARR的可用性集,是以建構起來并不輕松。而且這種方式如果連接配接IIS環境的話需要IIS 7以上的版本;是以有沒有折中的方式呢?現在Azure負載均衡器已經開放了一種新的二進制組方式了。
二進制組方式實作的會話粘滞也稱為IP親和性政策方式,這種方式下的Azure提供的負載均衡器隻提供基于源IP位址和目标IP位址或源IP位址和目标IP位址加協定哈希轉發到後端。通過這種IP親和性政策可以實作同一個用戶端連接配接請求總是被轉發到指定的後端虛拟機(當然後端虛拟機狀态是OK的前提下)。
之是以要叫做折中方式是因為目前這種方式也有局限性,後端虛拟機節點變化都會造成哈希節點重新計算,是以同一個用戶端新的請求仍然會因為這一改變被轉發到其他節點。另外,由于二進制組政策的天然局限性,如果多個用戶端通過NAT或者Proxy連接配接都會被視為同一個源位址而容易造成這些請求總被轉發到指定節點造成不均衡負載的情況。
配置Azure二進制組方式負載均衡器有三種途徑:
通過Powershell或者Service Management API配置虛拟機端點負載均衡政策方式
對已有虛拟機Azure端點配置負載均衡政策:
1
<code>Get-AzureVM</code> <code>-ServiceName</code><code>"TestService1"</code> <code>-Name</code><code>"TestNode1"</code> <code>| </code><code>Add-AzureEndpoint</code> <code>-Name</code><code>"HttpIn"</code> <code>-Protocol</code><code>"tcp"</code> <code>-PublicPort80 -LocalPort80 LoadBalancerDistribution </code><code>"sourceIP"</code><code>| </code><code>Update-AzureVM</code>
LoadBalancerDistribution有三個參數
sourceIP為二進制組
sourceIPProtocol為三元組
none為預設五元組。
也可以通過直接設定以後的已有負載均衡集的方式修改:
<code>Set-AzureLoadBalancedEndpoint</code> <code>-ServiceName</code><code>"TestService1"</code> <code>-LBSetName</code><code>"TestSet1"</code> <code>-Protocol tcp -LocalPort80 -ProbeProtocolTCP -ProbePort80 LoadBalancerDistribution</code><code>"sourceIP"</code>
本文轉自 翟老貓 51CTO部落格,原文連結:http://blog.51cto.com/3387405/1599114,如需轉載請自行聯系原作者