Dubbo負載均衡策略

Dubbo提供了多種負載均衡策略,缺省爲random隨機調用
A、Random LoadBalance
隨機,按權重設置隨機概率。在一個截面上碰撞的概率高,但是調用量越大分佈越均勻,而且按概率使用權重後也比較均勻,有利於動態調整提供者權重。
B、RoundRobin LoadBalance
輪循,按公約後的權重設置輪循比率。存在慢的提供者累積請求問題,比如:第二臺機器很慢,但是沒有掛,當請求第二臺機器的時候就會卡在那,久而久之,所有的請求都卡在了第二臺機器上。
C、LeastActive LoadBalance
最少活躍調用數,相同活躍數的隨機。活躍數值調用前後計數差。使慢的提供者收到更少的請求,因爲越慢的提供者調用前後的技術差會越大。
D、ConsistentHash LoadBalance
一致性Hash,相同參數的請求總是發到同一個提供者。當某一臺提供者掛掉的時候,原本發往該提供者的請求,基於虛擬節點,平攤到其他提供者,不會引起劇烈變動。算法參見:https://en.wikipedia.org/wiki/Consistent_hashing
缺省只是對第一個參數Hash,如果要修改,請配置

<dubbo:parameter key="hash.arguments" value="0,1"></dubbo:parameter>

配置方式

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

或者

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

隨機:loadbalance=” random”
輪循:loadbalance=” roundrobin”
最少活躍數:loadbalance=” leastactive”
一致性Hash:loadbalance=” consistenthash

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章