Dubbo 集群容錯

2021-09-24 06:21:05 字數 911 閱讀 4910

在進行系統設計時候,不僅要考慮正常邏輯該如何走,還要考慮異常邏輯。dubbo中當服務消費方呼叫服務提供方的服務出現錯誤時候,提供了多種容錯方案,預設為 failover 重試。

重試。當服務消費方呼叫服務提供者失敗後自動切換,重試其它服務提供者。這通常用於讀操作或者具有冪等的寫操作,需要注意的是重試會帶來更長延遲。可通過 retries=」2」 來設定重試次數(不含第一次)。 

或:      

cluster="failover"可以不用寫,因為預設就是failover

快速失敗。當服務消費方呼叫服務提供者失敗,失敗立即報錯。通常用於非冪等性的寫操作。

或:

cluster="failfast"和 把cluster="failover"、retries="0"是一樣的效果,retries="0"就是不重試

失敗安全。出現異常時,直接忽略。通常用於寫入審計日誌等操作。

或:

失敗自動恢復。後台記錄失敗請求,並按照一定的策略後期在進行重試。通常用於訊息通知操作。

或:

並行呼叫多個服務提供者的服務,只要乙個成功即返回。通常用於實時性要求較高的讀操作,但需要浪費更多服務資源。可通過 forks=」2」 來設定最大並行數。

或:

廣播呼叫所有服務提供者,逐個呼叫,任意一台報錯則報錯 。通常用於通知所有提供者更新快取或日誌等本地資源資訊

dubbo 集群容錯

在集群呼叫失敗時,dubbo 提供了多種容錯方案,預設為 failover 重試。集群容錯模式 failover cluster 失敗自動切換,當出現失敗,重試其它伺服器。通常用於讀操作,但重試會帶來更長延遲。可通過 retries 2 來設定重試次數 不含第一次 重試次數配置如下 dubbo se...

dubbo 集群容錯

在收到提供者執行的結果時,當結果處理失敗時,需要對其進行處理。在reference中,返回的invoker是根據對應的容錯機制生成的invoker spi failovercluster.name public inte ce clusterpublic class failovercluster ...

Dubbo 集群容錯

二.dubbo集群容錯模式 三.cluster介面及實現類結構圖 四.原始碼解析 4.其它模式 參考原始碼 五.實現自定義cluster 六.使用自定義cluster 這裡不是使用所有服務提供者初始化invoked物件,只是使用了指定長度初始化空的list陣列 list invoked newarr...