我們在使用dubbo的過程中一定對於下面的配置十分熟悉:
下面來解釋一下各引數的含義:
1.timeout="3000" ,服務呼叫的超時時間,呼叫服務的過程中如果達到3秒就會報超時異常,超時異常後客戶端會進行嘗試設定的「retries」次呼叫。有乙個需要注意的地方,timeout只有在超時異常才有效,如果是其他異常導致dubbo服務呼叫拋異常,會立即進入下一次嘗試。
2.retries="2" ,即重試兩次,如果失敗就丟擲異常。
我們在開發過程中應謹慎使用dubbo的超時重試機制,分別從超時和重試兩個角度來說說。
超時方面,舉個例子。如果呼叫的服務處理的時間較長,而我們設定的timeout時間太短,這時候就會出現服務端到了超時時間,dubbo會進行重試,然而無論重試多少次,結果還是會失敗。
重試方面,舉個例子。並不是所有業務都適合重試的,例如某些不能重複請求的介面,如下訂單、註冊等等。
dubbo重試機制原理 Dubbo超時和重連機制
dubbo啟動時預設有重試機制和超時機制。超時機制的規則是如果在一定的時間內,provider沒有返回,則認為本次呼叫失敗,重試機制在出現呼叫失敗時,會再次呼叫。如果在配置的呼叫次數內都失敗,則認為此次請求異常,丟擲異常。如果出現超時,通常是業務處理太慢,可在服務提供方執行 jstack pid j...
Quartz超時重試機制
高可用作為考究系統的一項重要指標,如何做到系統的高可用,談及乙個系統,這個話題就難以越過。quartz作為目前排程框架的乙個流行元件,如何保證quartz的高可用,任務排程失敗後,如何進行重試,這個也是乙個值得關注的問題。網上看過許多涉及定時排程的開源專案,但發現其都存在乙個問題,並未對任務排程的失...
Dubbo超時重試機制帶來的資料重複問題
dubbo的超時重試機制為服務容錯 服務穩定提供了比較好的框架支援,但是在一些比較特殊的網路環境下 網路傳輸慢,併發多 可能 由於服務響應慢,dubbo自身的超時重試機制 服務端的處理時間超過了設定的超時時間時,就會有重複請求 可能會帶來一些麻煩。常見的應用場景故障 1 傳送郵件 重複 2 賬戶註冊...