Dubbo---負載均衡

負載均衡策略
Dubbo內置了四種負載均衡策略:
RandomLoadBalance:隨機負載均衡,默認的策略
RoundRobinLoadBalance:輪詢負載均衡
LeastActiveLoadBalance:最少活躍調用數
ConsistenHashLoadBalance:一致性哈希,相同參數的請求總是會落在同一個機器上。

1.隨機負載均衡
隨機主要是根據權重來抉擇的,權重大的概率就會大一點。
如果所有的機器的權重是一樣的,算法就簡單了,機器中直接隨機就好了。
如果機器的權重不一樣,例如,a的權重10,b的權重20,c的權重30,那麼總的權重的10+20+30=60,a的範圍就是0-10,b的範圍是10-30,c的範圍是30-60,然後在0——60中生成一個隨機數,數字落在哪個區間就選擇哪個機器。

2.輪詢負載均衡
存在一個問題,就是當某一臺機器慢的情況下,但是還沒掛,時間長了會累計請求。

3.最小活躍數
活躍數指的是接收一次請求活躍計數器+1,請求處理完成-1,在某一時刻,服務提供者當前的活躍數。也就是說還有多少個正在處理的請求。
最小活躍數,意思就是選擇服務提供者空閒狀態的機器。(能者多勞)。
如果活躍數相同,則會根據隨機負載均衡策略選擇一臺機器。
4.一致性哈希
某個節點宕機,影響的是鄰近的下一個節點。如果節點少,容易出現數據傾斜的問題。

配置方式
服務端:
服務級別

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

方法級別

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

客戶端:
服務級別:

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

方法級別:

<dubbo:reference interface="">
	<dubbo:method name="" loadbalance="roundrobin"/>
</dubbo:reference>
發佈了35 篇原創文章 · 獲贊 15 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章