天天看點

dubbo-高可用-負載均衡配置

在叢集負載均衡時,Dubbo 提供了多種均衡政策,預設為 random 随機調用。

負載均衡政策

1.Random LoadBalance

随機,按權重設定随機機率。

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

dubbo-高可用-負載均衡配置

2.RoundRobin LoadBalance

輪循,按公約後的權重設定輪循比率。

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

dubbo-高可用-負載均衡配置

3.LeastActive LoadBalance

最少活躍調用數,相同活躍數的随機,活躍數指調用前後計數差。

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

dubbo-高可用-負載均衡配置

請求來了之後,交給上次處理時間最少的那個伺服器。

4.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-高可用-負載均衡配置

Dubbo(十六)--dubbo-高可用-ZooKeeper當機與Dubbo直連

像這個部落格裡的方式啟動3個服務提供者。

dubbo-高可用-負載均衡配置

啟動消費者。發現,3号提供者列印了。關閉消費者,再啟動消費者,發現,通路的提供者是随機的。

http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html

修改一下負載均衡的政策:

dubbo-高可用-負載均衡配置

經過測試,發現,确實是輪詢的通路3個服務提供者。

可以在控制台控制權重:

dubbo-高可用-負載均衡配置

---------------------

版權聲明:本文為CSDN部落客「csdn_kenneth」的原創文章,遵循CC 4.0 by-sa版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/csdn_kenneth/article/details/82558357

轉載于:https://www.cnblogs.com/tuanz/p/11356623.html