Dubbo的超時重試機制


我們在使用dubbo的過程中一定對於下面的配置十分熟悉:

<dubbo:reference id="xx" interface="xx"  retries="2" timeout="3000"/>

下面來解釋一下各參數的含義:

1.timeout="3000" ,服務調用的超時時間,調用服務的過程中如果達到3秒就會報超時異常,超時異常后客戶端會進行嘗試設定的“retries”次調用。有一個需要注意的地方,timeout只有在超時異常才有效,如果是其他異常導致dubbo服務調用拋異常,會立即進入下一次嘗試。

2.retries="2" ,即重試兩次,如果失敗就拋出異常。

 

我們在開發過程中應謹慎使用Dubbo的超時重試機制,分別從超時和重試兩個角度來說說。

超時方面,舉個例子。如果調用的服務處理的時間較長,而我們設定的timeout時間太短,這時候就會出現服務端到了超時時間,dubbo會進行重試,然而無論重試多少次,結果還是會失敗。

重試方面,舉個例子。並不是所有業務都適合重試的,例如某些不能重復請求的接口,如下訂單、注冊等等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM