溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Dubbo負載均衡策略是什么

發(fā)布時間:2021-12-15 14:52:57 來源:億速云 閱讀:176 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Dubbo負載均衡策略是什么”,在日常操作中,相信很多人在Dubbo負載均衡策略是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Dubbo負載均衡策略是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、zookeeper宕機

zookeeper宕機

Dubbo可以實現(xiàn)zookeeper全部宕機,服務(wù)的消費者仍可消費提供者服務(wù)。

仍然能通過本地緩存訪問。

dubbo直連

沒有注冊中心也可以直接連接

Dubbo負載均衡策略是什么

二、負載均衡

dubbo負載均衡策略

在集群負載均衡時,Dubbo 提供了多種均衡策略,缺省為 random 隨機調(diào)用。

Random LoadBalance

  • 隨機,按權(quán)重設(shè)置隨機概率。

  • 在一個截面上碰撞的概率高,但調(diào)用量越大分布越均勻,而且按概率使用權(quán)重后也比較均勻,有利于動態(tài)調(diào)整提供者權(quán)重。

RoundRobin LoadBalance

  • 輪詢,按公約后的權(quán)重設(shè)置輪詢比率。

  • 存在慢的提供者累積請求的問題,比如:第二臺機器很慢,但沒掛,當請求調(diào)到第二臺時就卡在那,久而久之,所有請求都卡在調(diào)到第二臺上。

LeastActive LoadBalance

  • 最少活躍調(diào)用數(shù),相同活躍數(shù)的隨機,活躍數(shù)指調(diào)用前后計數(shù)差。

  • 使慢的提供者收到更少請求,因為越慢的提供者的調(diào)用前后計數(shù)差會越大。

ConsistentHash LoadBalance

  • 一致性 Hash,相同參數(shù)的請求總是發(fā)到同一提供者。

  • 當某一臺提供者掛時,原本發(fā)往該提供者的請求,基于虛擬節(jié)點,平攤到其它提供者,不會引起劇烈變動。

  • 算法參見:http://en.wikipedia.org/wiki/Consistent_hashing

  • 缺省只對第一個參數(shù) Hash,如果要修改,請配置 <dubbo:parameter key="hash.arguments" value="0,1" />

  • 缺省用 160 份虛擬節(jié)點,如果要修改,請配置 <dubbo:parameter key="hash.nodes" value="320" />

Dubbo負載均衡策略是什么

Dubbo負載均衡策略是什么

三、服務(wù)降級

可以通過服務(wù)降級功能 [1] 臨時屏蔽某個出錯的非關(guān)鍵服務(wù),并定義降級后的返回策略。

向注冊中心寫入動態(tài)配置覆蓋規(guī)則:

RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null"));

其中:

  • mock=force:return+null 表示消費方對該服務(wù)的方法調(diào)用都直接返回 null 值,不發(fā)起遠程調(diào)用。用來屏蔽不重要服務(wù)不可用時對調(diào)用方的影響。

  • 還可以改為 mock=fail:return+null 表示消費方對該服務(wù)的方法調(diào)用在失敗后,再返回 null 值,不拋異常。用來容忍不重要服務(wù)不穩(wěn)定時對調(diào)用方的影響。

四、集群容錯

重試次數(shù)

整合hystrix

開啟注解

@EnableHystrix
        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>            <version>2.2.3.RELEASE</version>        </dependency>

服務(wù)提供者

Dubbo負載均衡策略是什么

消費者

Dubbo負載均衡策略是什么

到此,關(guān)于“Dubbo負載均衡策略是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI