dubbo 負載均衡
阿新 • • 發佈:2019-02-09
負載均衡:當有多個提供者的時候,如何選擇 哪個提供者進行呼叫的負載演算法。
在叢集負載均衡時,Dubbo 提供了多種均衡策略,預設為 random
隨機呼叫。
Dubbo 官方支援以下負載均衡策略:
1.隨機( random):按權重設定隨機概率。此為預設演算法
2.輪詢(roundrobin):按公約後的權重設定輪詢比率
3.最少活躍呼叫數 (leastactive):相同活躍數的隨機,活躍數指呼叫前後計數差
4.一致性hash(consistenthash):相同的引數總是發到同一機器
一致性hash主要應用於分散式快取中,可以有效解決分散式儲存結構下動態增加和刪除節點鎖帶來的問題。
<dubbo:reference interface="..." loadbalance="roundrobin" > <dubbo:paramter key="hash.arguments" value="0"/> <dubbo:paramter key="hash.nodes" value="320"/>//預設為160 </dubbo:reference>
配置:
服務端服務級別:
<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>
優先順序:服務端服務級別 > 客戶端服務級別 > 服務端方法級別 > 客戶端方法級別:
負載均衡是針對於客戶端來來講的,服務端 配置也是給客戶端配置的。