關於dubbo負載均衡算法如何選擇?

dj小周


dubbo的負載均衡的幾種算法
Random LoadBalance
  • 隨機,按權重設置隨機概率。
  • 在一個截面上碰撞的概率高,但調用量越大分佈越均勻,而且按概率使用權重後也比較均勻,有利於動態調整提供者權重。
RoundRobin LoadBalance
  • 輪循,按公約後的權重設置輪循比率。
  • 存在慢的提供者累積請求問題,比如:第二臺機器很慢,但沒掛,當請求調到第二臺時就卡在那,久而久之,所有請求都卡在調到第二臺上。
LeastActive LoadBalance
  • 最少活躍調用數,相同活躍數的隨機,活躍數指調用前後計數差。
  • 使慢的提供者收到更少請求,因為越慢的提供者的調用前後計數差會越大。
ConsistentHash LoadBalance
  • 一致性Hash,相同參數的請求總是發到同一提供者。
  • 當某一臺提供者掛時,原本發往該提供者的請求,基於虛擬節點,平攤到其它提供者,不會引起劇烈變動。
  • 缺省只對第一個參數Hash,如果要修改,請配置<parameter>
  • 缺省用160份虛擬節點,如果要修改,請配置<parameter>

這幾種算法是很常見的,如果想知道更多的負載均衡算法,可以看看nginx的配置


分享到:


相關文章: