全站資源開放下載,感謝廣大網友的支持
鏈接失效請移步職業司平臺
非盈利平臺

非盈利平臺

只為分享一些優質內容

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

微信小程序

微信小程序

更方便的閱讀

職業司微信公眾號

職業司微信公眾號

實時動態通知

安卓APP

安卓APP

我們從此不分開

程序員生活志-公眾號

程序員生活志-公眾號

程序員生活學習圈,互聯網八卦黑料

支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區

Dubbo入門學習--負載均衡策略(4)

13
發表時間:2018-05-15 11:58

點擊上方藍字關注!

Dubbo入門學習--負載均衡策略

負載均衡

Random LoadBalance
  • 隨機,按權重設置隨機概率。

  • 在一個截面上碰撞的概率高,但調用量越大分布越均勻,而且按概率使用權重后也比較均勻,有利于動態調整提供者權重。

RoundRobin LoadBalance
  • 輪循,按公約后的權重設置輪循比率。

  • 存在慢的提供者累積請求問題,比如:第二臺機器很慢,但沒掛,當請求調到第二臺時就卡在那,久而久之,所有請求都卡在調到第二臺上。

LeastActive LoadBalance
  • 最少活躍調用數,相同活躍數的隨機,活躍數指調用前后計數差。

  • 使慢的提供者收到更少請求,因為越慢的提供者的調用前后計數差會越大。

ConsistentHash LoadBalance
  • 一致性Hash,相同參數的請求總是發到同一提供者。

  • 當某一臺提供者掛時,原本發往該提供者的請求,基于虛擬節點,平攤到其它提供者,不會引起劇烈變動。

  • 算法參見:http://en.wikipedia.org/wiki/Consistent_hashing。

  • 缺省只對第一個參數Hash,如果要修改,請配置<dubbo:parameter key="hash.arguments" value="0,1" />

  • 缺省用160份虛擬節點,如果要修改,請配置<dubbo:parameter key="hash.nodes" value="320" />


配置如:

<dubbo:service interface="..." loadbalance="roundrobin" />

或:

<dubbo:reference interface="..." loadbalance="roundrobin" />

或:

<dubbo:service interface="...">
   <dubbo:method name="..." loadbalance="roundrobin"/>
</dubbo:service>

或:

<dubbo:reference interface="...">
   <dubbo:method name="..." loadbalance="roundrobin"/>
</dubbo:reference>

源碼分析:

Dubbo負載均衡接口及其實現類:

接口LoadBalance:

介紹一下RandomLoadBalance實現類中實現select的相關方法,RandomLoadBalance是按照權重的大小來進行隨機,如果權重相等則均等隨機。

長按關注我們吧


Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
業司
教育資訊
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部