Dubbo的超時重試機制為服務容錯、服務穩定提供了比較好的框架支持,但是在一些比較特殊的網絡環境下(網絡傳輸慢,並發多)可能
由於服務響應慢,Dubbo自身的超時重試機制(服務端的處理時間超過了設定的超時時間時,就會有重復請求)可能會帶來一些麻煩。
常見的應用場景故障: 1、發送郵件(重復) ;2、賬戶注冊(重復).。
解決方案:
1.對於核心的服務中心,去除dubbo超時重試機制,並重新評估設置超時時間。
(1)、去掉超時重試機制
<dubbo:provider delay="-1" timeout="6000" retries="0"/>
(2)、重新評估設置超時時間
<dubbo:service interface="*.*" ref="*" timeout="延長服務時間"/>
2.業務處理代碼必須放在服務端,客戶端只做參數驗證和服務調用,不涉及業務流程處理。