1,對balancecode(乙個隨機數)簡單的取模,select = balancecode%m;(m為伺服器的數量)
2,這時候,假如校驗select到的伺服器不可用。。。那麼。。second = balancecode%(m-1);
select = second < select ? second : second + 1
效果就是把不可用的伺服器遮蔽掉了,並且select也是等概率分布的。。
例如:序列,1,2,3,4,5,6,7,8,9,10,11,12
首先模3
對應的結果是:1,2,0,1,2,0,1,2,0,1,2,0
我們對code模2之後的結果是:1,0,1,0,1,0,1,0,1,0,1,0
最終的結果是:2,0,2,0,1,1,2,0,2,0,1,1
對於第一次選擇結果中所有的1號伺服器,二次選擇的分布為2,0,2,0
同理。。。2號和0號也是一樣。。。
原理在於
設某個code模m的結果為b,(0<=b<=m-1),則該code為a*m+b,即除以m時商a餘b
那麼a*m+b = a*(m-1)+a+b,模m-1的結果等於(a+b)%(m-1)
對於某個定值b,a是隨著code以固定週期m遞增的,故該結果 c 的序列是以m-1為週期的乙個迴圈,(0<=c<=m-2)
現在的問題就是如何建立乙個對映,將結果為b的遮蔽掉,並且讓剩下的結果也是週期分布的。。。
方法就是以b為分界點,對結果進行劃分,=b的+1,這樣
若0<=b<=m-2,那麼=b的對映到[b+1,m-1],一共m-1個值
若b = m-1 ,則不可能有》=b的情況,故保持原值,在[0,m-2]區間
負載策略 CMC負載均衡策略
負載均衡技術是一種用在多個網路連線 計算機 計算機集群 cpu 磁碟驅動器或其他資源中,進行負載分配,以達到最優化資源使用 最大化吞吐率 最小化響應時間 同時避免過載的技術。就例如在火車站 商場等較擁擠的地方,會設定多個出入口,管理人員把客戶分散到各個出入口,能大大縮短出入時間。負載均衡也一樣,cm...
負載均衡策略
負載均衡裝置作為縱跨網路2 7層協議的裝置,往往放置在網路裝置和應用裝置的連線處,對工程師在網路和應用基本知識方面的要求遠高於其他裝置,所以我們要在基本功能的理解上下更多的功夫。負載均衡裝置還有另外乙個稱呼 4 7層交換機,但它首先是個2 3層交換機,這要求我們首先掌握2 3層的基本知識,然後才是本...
負載均衡策略
負載均衡策略 1.輪循均衡 round robin 每一次來自網路的請求輪流分配給內部中的伺服器,從1至n然後重新開始。此種均衡演算法適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況。2.權重輪循均衡 weighted round robin 根據伺服器的不同處理能力,...