最全最簡單的dubbo教程 集群容錯《十四》

2021-09-06 15:43:05 字數 1428 閱讀 8151

在集群呼叫失敗時,dubbo 提供了多種容錯方案,預設為 failover 重試。

dubbo提供了以下幾種集群容錯模式:

官方解釋

失敗自動切換,當出現失敗,重試其它伺服器 。通常用於讀操作,但重試會帶來更長延遲。可通過 retries=「2」 來設定重試次數(不含第一次)。

解釋說明:

很好理解,當呼叫失敗的時候自動重試其它伺服器在有限次數之內,直到成功才停止呼叫。

配置方法:

或:或:

< dubbo:reference />

官方解釋

快速失敗,只發起一次呼叫,失敗立即報錯。通常用於非冪等性的寫操作,比如新增記錄。

解釋說明:

意思系統只發一次請求,無論成功失敗僅一次呼叫。

配置方法:

或:官方解釋

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

配置方法:

或:官方解釋

失敗自動恢復,後台記錄失敗請求,定時重發。通常用於訊息通知操作。

解釋說明:

這個設定表示必須請求成功,注意是請求,就算服務者程式報錯也是成功的一次請求,初學者容易造成誤解,我剛開始也對這個暈了很久。這個測試起來感覺不太好測試,而且個人感覺這個功能比較雞肋,可以在呼叫的時候打上斷點,然後關閉服務就可以製造一次失敗的呼叫。在failbackclusterinvoker類中如圖:

呼叫失敗的情況下會呼叫乙個方法,這個方法如圖:

這裡會觸發乙個定時器,每五秒掃瞄一下有沒有呼叫失敗的例項,呼叫失敗的情況下進行重試。

配置方法:

或:官方解釋

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

配置方法:

或:官方解釋

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

配置方法:

或:

參考部落格:

最全最簡單的dubbo教程 服務引入《十七》

建立client客戶端,用來連線請求服務消費者。封裝invoker,裡面主要包含請求的客戶端,服務端位址埠,請求的類以及方法。在referencebean getobject init 中會呼叫createproxy 方法用來建立 物件。在createproxy 中會執行乙個refprotocol....

app許可權,最簡單最全

整合步驟 dependenciesxxpermissions.with this constantrequest 可設定被拒絕後繼續申請,直到使用者授權或者永久拒絕 permission permission.system alert window,permission.request instal...

史上最詳細最全面,最聰明的lamp搭配教程

史上最詳細最全面,最聰明的lamp搭配教程,如果通過不了,本作者便去自殺。1.確保安裝如下包 不安裝會提示有錯誤 make b.gcc.c.gcc c 問 如何檢視有無安裝呢?答 rpm q gcc 其他也是同理 問 如果未安裝,如何安裝?答 yum install gcc 一定要聯網,當然也可使用...