1. 程式人生 > >dubbo 負載均衡

dubbo 負載均衡

負載均衡:當有多個提供者的時候,如何選擇 哪個提供者進行呼叫的負載演算法。

在叢集負載均衡時,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>

優先順序:服務端服務級別 > 客戶端服務級別 > 服務端方法級別 > 客戶端方法級別:

負載均衡是針對於客戶端來來講的,服務端 配置也是給客戶端配置的。