初識Dubbo 系列之9-Dubbo 負載均衡
來源:程序員人生 發布時間:2015-05-21 07:59:43 閱讀次數:3130次
負載均衡
(+) (#)
 |
在集群負載均衡時,Dubbo提供了多種均衡策略,缺省為random隨機調用。 |
可以自行擴大負載均衡策略,參見:負載均衡擴大
Random LoadBalance
- 隨機,按權重設置隨機幾率。
- 在1個截面上碰撞的幾率高,但調用量越大散布越均勻,而且按幾率使用權重后也比較均勻,有益于動態調劑提供者權重。
RoundRobin LoadBalance
- 輪循,按公約后的權重設置輪循比率。
- 存在慢的提供者積累要求問題,比如:第2臺機器很慢,但沒掛,當要求調到第2臺時就卡在那,長此以往,所有要求都卡在調到第2臺上。
LeastActive LoadBalance
- 最少活躍調用數,相同活躍數的隨機,活躍數指調用前后計數差。
- 使慢的提供者收到更少要求,由于越慢的提供者的調用前后計數差會越大。
ConsistentHash LoadBalance
- 1致性Hash,相同參數的要求總是發到同1提供者。
- 當某1臺提供者掛時,本來發往該提供者的要求,基于虛擬節點,平攤到其它提供者,不會引發劇烈變動。
- 算法參見:http://en.wikipedia.org/wiki/Consistent_hashing。
- 缺省只對第1個參數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 >
|
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------