日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 17. Dubbo原理解析-集群&容錯之負載均衡

17. Dubbo原理解析-集群&容錯之負載均衡

來源:程序員人生   發布時間:2015-01-05 08:41:35 閱讀次數:11727次

LoadBalance負載均衡, 負責從多個 Invokers當選出具體的1個Invoker用于本次調用,調用進程中包括了負載均衡的算法,調用失敗后需要重新選擇

LoadBalance接口定義

@SPI(RandomLoadBalance.NAME)

public interface LoadBalance{

@Adaptive("loadbalance")

<T> Invoker<T> select(List<Invoker<T>> invokers,URL url, Invocation invocation)throws RpcException;

}

類注解@SPI說明可以基于Dubbo的擴大機制進行自定義的負責均衡算法實現,默許是隨機算法

方法注解@Adaptive說明能夠生成設配方法

Select方法設配類通過url的參數選擇具體的算法, 在從invokers集合中根據具體的算法選擇1個invoker

 

 

1. RandomLoadBalance: 隨機訪問策略,按權重設置隨機幾率,是默許策略

1)獲得所有invokers的個數

2)遍歷所有Invokers, 獲得計算每一個invokers的權重,并把權重累計加起來

每相鄰的兩個invoker比較他們的權重是不是1樣,有1個不1樣說明權重不均等

3)總權重大于零且權重不均等的情況下

按總權重獲得隨機數offset = random.netx(totalWeight);

遍歷invokers肯定隨機數offset落在哪一個片斷(invoker上)



4)權重相同或總權重為0, 根據invokers個數均等選擇

invokers.get(random.nextInt(length))

 

      

2. RoundRobinLoadBalance:輪詢,按公約后的權重設置輪詢比率

1)獲得輪詢key  服務名+方法名

獲得可供調用的invokers個數length

設置最大權重的默許值maxWeight=0

設置最小權重的默許值minWeight=Integer.MAX_VALUE

2)遍歷所有Inokers,比較出得出maxWeight和minWeight

3)如果權重是不1樣的

根據key獲得自增序列

自增序列加1與最大權重取模默許得到currentWeigth

遍歷所有invokers挑選出大于currentWeight的invokers

設置可供調用的invokers的個數length

4)自增序列加1并與length取模,從invokers獲得invoker

 

 

3. LeastActiveLoadBalance: 最少活躍調用數, 相同的活躍的隨機選擇,

活躍數是指調用前后的計數差, 使慢的提供者收到更少的要求,由于越慢的提供者前后的計數差越大。

活躍計數的功能消費者是在ActiveLimitFilter中設置的



4. 最少活躍的選擇進程以下:

1)獲得可調用invoker的總個數

初始化最小活躍數,相同最小活躍的個數

相同最小活躍數的下標數組

等等

2)遍歷所有invokers, 獲得每一個invoker的獲得數active和權重

找出最小權重的invoker

如果有相同最小權重的inovkers, 將下標記錄到數組leastIndexs[]數組中

累計所有的權重到totalWeight變量

3)如果invokers的權重不相等且totalWeight大于0

按總權重隨機offsetWeight = random.nextInt(totalWeight)

計算隨機值在哪一個片斷上并返回invoker


4)如果invokers的權重相等或totalWeight等于0,均等隨機

 

 

5. ConsistentHashLoadBalance:1致性hash, 相同參數的要求總是發到同1個提供者,當某1臺提供者掛時,本來發往該提供者的要求,基于虛擬節點,平攤到其它提供者,不會引發劇烈變動。對1致性哈希算法介紹網上很多,這個給出1篇http://blog.csdn.net/sparkliang/article/details/5279393供參考,讀者請自行瀏覽ConsistentashLoadBalance中對1致性哈希算法的實現,還是比較通俗易懂的這里不再
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩欧美自拍偷拍 | 色一情一乱一伦一区二区三区 | 免费av在线播放 | 日韩少妇精品av一区二区 | 亚洲一级免费视频 | 日韩精品免费观看 | 99av在线| 日韩欧美在线观看视频 | 国产精品欧美精品 | 国产精品久久久久久久免费软件 | 永久免费av在线 | 精品国产网站 | 精品国产凹凸成av人导航 | 久久久久一区二区三区 | 国产三级久久久 | 国产嫩草一区二区三区在线观看 | 午夜免费 | 欧美黄色一区二区 | 国产在线网站 | 国产精品一区不卡 | 久久精品视频在线 | 亚洲 欧美变态 另类 综合 | 国产猛男猛女超爽免费视频 | 久久视频一区 | 国产一区二区色 | 国产一级黄 | 一本色道精品久久一区二区三区 | 亚洲 欧美 日韩 在线 | 国产精彩视频 | 成人黄色av网站 | 欧美日韩一区二区三区视频 | 国产精品免费视频观看 | 久久久久免费视频 | 91在线网站 | 91精品国产色综合久久 | 亚洲第一天堂 | 特黄av| 可以直接在线观看的av | 国产精选视频在线观看 | 亚洲变态 | 欧美成人一级 |