更新時間:2021-09-07 11:26:15 來源:動力節點 瀏覽1606次
dubbo在調用服務不成功時,默認是會重試兩次的。這樣在服務端的處理時間超過了設定的超時時間時,就會有重復請求,比如在發郵件時,可能就會發出多份重復郵件,執行注冊請求時,就會插入多條重復的注冊數據,那么怎么解決超時問題呢?如下
1.對于核心的服務中心,去除dubbo超時重試機制,并重新評估設置超時時間。
2.業務處理代碼放在服務端,客戶端只做參數驗證和服務調用,不涉及業務流程處理
全局配置實例
<!-- 延遲到Spring初始化完成后,再暴露服務,服務調用超時設置為6秒,超時不重試-->
<dubbo:provider delay="-1" timeout="6000" retries="0"/>
當然Dubbo的重試機制其實是非常好的QOS保證,它的路由機制,是會幫你把超時的請求路由到其他機器上,而不是本機嘗試,所以 dubbo的重試機器也能一定程度的保證服務的質量。但是請一定要綜合線上的訪問情況,給出綜合的評估。
以上就是動力節點小編介紹的"Dubbo服務調用超時問題解決方案",希望對大家有幫助,想了解更多可查看Dubbo教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習