DUBBO集群容錯與負載均衡

2021-08-13 04:28:38 字數 1191 閱讀 8535

在集群呼叫失敗時,dubbo提供了多種容錯方案,預設方案為failover。dubbo自帶的集群方案有六種,基本已經可以滿足平常的集群需求,個別不滿足的,當然dubbo也支援自定義擴充套件。

關於dubbo自帶的六種方案,每一種都使用不同的業務需求,具體如下:

1. failover

失敗自動切換,當出現失敗,重試其他伺服器,通常用於查詢操作,但重試會帶來更長的延遲,可以通過retries=n來設定重試次數,不包含第一次

2. failfast

快速失敗,只發起一次呼叫,失敗就報錯,通常用於新增記錄的操作,比如資料同步。

3. failsafe

失敗安全,出現異常直接忽略,也就是對資料的完整性要求不高,通常用於寫入審計日誌等操作

4. failback

失敗自動恢復,失敗後後台記錄失敗的請求,定時重發,通常用於實時性要求不高的通知類操作

5. forking

並行呼叫,同時呼叫多個伺服器,只要有乙個返回成功即可,通常用於實時性要求高的查詢操作,但是對資源的浪費更大,具體並行幾個可以根據forks=n設定

6. broadcast

廣播呼叫所有提供者,逐個呼叫,有一台報錯就報錯,通常用於更新所有提供者快取或者日誌等本地資源資訊,用的機會較少,並且更新失敗的話對系統影響很小的資源

當然有了集群,那麼怎麼樣合理的呼叫集群,發揮集群的最大效果也是很重要的一部分,在集群負載均衡時,dubbo提供了多種均衡策略,預設值是random,即隨機訪問,dubbo自帶的有四種均衡策略,也是基本夠用,如有特殊,也是可以擴充套件的。

關於dubbo的負載策略以及使用場景如下:

1. random

隨機訪問策略,按照權重設定隨機概率,但是一般情況下權重都是設定成一樣的,一般是訪問量越大隨機越均勻。

2. roundrobin

輪訓訪問策略,按照公約後的權重設定輪訓比率,但是一般權重一樣,就是交替訪問,但是會有處理慢的應用資料越堆越多的問題。

3. leastactive

最少活躍數訪問策略,相同的活躍數是隨機訪問的,活躍數就是呼叫前後的計數差,這樣的話處理慢的應用就會收到更少的請求,因為越慢呼叫前後的計數差就越大

4. consistenthash

一致性hash,也就是同乙個引數的請求總是到同乙個應用,當某乙個應用掛掉時,原來發往該應用的請求就會基於虛擬節點,平均分配給其他的提供者,不會引起劇烈的變動

DUBBO集群容錯與負載均衡

dubbo集群容錯 在集群呼叫失敗時,dubbo提供了多種容錯方案,預設方案為failover。dubbo自帶的集群方案有六種,基本已經可以滿足平常的集群需求,個別不滿足的,當然dubbo也支援自定義擴充套件。關於dubbo自帶的六種方案,每一種都使用不同的業務需求,具體如下 1.failover ...

dubbo集群容錯和負載均衡

當我們的系統中用到dubbo的集群環境,因為各種原因在集群呼叫失敗時,dubbo提供了多種容錯方案,預設為failover重試。dubbo的集群容錯在這裡想說說他是因為我們實際的專案中出現了此類的問題,因為依賴的第三方專案出現異常,導致dubbo呼叫超時,此時使用的是預設的集群容錯方式,而配置的re...

Dubbo之旅 集群容錯和負載均衡

當我們的系統中用到 dubbo 的集群環境 因為各種原因在集群呼叫失敗時,dubbo提供了多種容錯方案,預設為failover重試。dubbo 的集群容錯在這裡想說說他是因為我們實際的專案中出現了此類的問題 因為依賴的第三方專案出現異常,導致 dubbo 呼叫超時 此時使用的是預設的集群容錯方式 而...