<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
[com.alibaba.dubbo.rpc.filter.TimeoutFilter] - [DUBBO] invoke time out. method: sendMessagearguments: [{****內容****}] , url is dubbo://*.*.*.*:20882/cn.demo.api.IDemoProviderApi?anyhost=true&application=demo&dubbo=2.8.4&generic=false&interface=cn.demo.api.IDemoProviderApi&methods=sendMessage,resetSendCount&pid=13008&revision=0.0.1-SNAPSHOT&side=provider&timeout=6000×tamp=1521449123489&version=1.0, invoke elapsed 10863 ms., dubbo version: 2.8.4, current host: 127.0.0.1
dubbo服務提供方,通過註解方式暴露的,引數設定如下:
@Service(version = "1.0", timeout = 6000)
消費方呼叫dubbo服務,請求超時,dubbo服務有超時重試機制,所以對於提交的業務,會有3次呼叫.
修改dubbo服務提供方.將timeout超時設為20000ms.或者設定retries=“0”.禁用超時重試機制.
xml方式(消費方):
<!-- 需要消費的api --> <dubbo:consumer check="false" id="dubboConsumerConfig" retries="0"/>
註解方式(提供方):
@Service(version = "1.0", timeout = 20000)
1、請求服務超時,但是最終程式執行了3次,對於提交訂單的業務,只能是新增一個訂單,這樣是不可以的.
2、dubbo:provider 可以設定超時時間 timout,以及如果超時允許被重連的次數 retries.
3、dubbo:reference 可以設定超時時間,以及如果超時 timout,允許重連服務的次數 retries;如果服務方有設定retries,消費方可以不設定該引數.
4、dubbo:reference retries 的預設值和consumer一樣,而consumer預設為2次
dubbo:consumer
retries
default.retries
int
可選
2
#--------以下為轉載--------
1.超時設定
DUBBO消費端設定超時時間需要根據業務實際情況來設定,
如果設定的時間太短,一些複雜業務需要很長時間完成,導致在設定的超時時間內無法完成正常的業務處理。
這樣消費端達到超時時間,那麼dubbo會進行重試機制,不合理的重試在一些特殊的業務場景下可能會引發很多問題,需要合理設定介面超時時間。
比如傳送郵件,可能就會發出多份重複郵件,執行註冊請求時,就會插入多條重複的註冊資料。
(1)合理設定超時和重連的思路
1.對於核心的服務中心,去除dubbo超時重試機制,並重新評估設定超時時間。
2.業務處理程式碼必須放在伺服器端,使用者端只做引數驗證和服務呼叫,不涉及業務流程處理
(2)Dubbo超時和重連設定範例
<!-- 服務呼叫超時設定為5秒,超時不重試--> <dubbo:service interface="com.provider.service.DemoService" ref="demoService" retries="0" timeout="5000"/>
2.重連機制
dubbo在呼叫服務不成功時,預設會重試2次。
Dubbo的路由機制,會把超時的請求路由到其他機器上,而不是本機嘗試,所以 dubbo的重試機器也能一定程度的保證服務的質量。
但是如果不合理的設定重試次數,當失敗時會進行重試多次,這樣在某個時間點出現效能問題,呼叫方再連續重複呼叫,
系統請求變為正常值的retries倍,系統壓力會大增,容易引起服務雪崩,需要根據業務情況規劃好如何進行例外處理,何時進行重試。
參考:https://www.cnblogs.com/binyue/p/5380322.html
補充:下面介紹下dubbo RPC 不能直接傳遞陣列型別。
今天遇到一個大坑,提供的一個RPC介面批次查Redis資料,由於資料型別不定,採用<String,Object>的map作為返回型別,查到的結果集其中有一個是陣列型別,程式碼沒報問題,但一直RPC異常,各種狗屎的嘗試排查,終於定位到問題。
最簡單的解決方案是將所有的value都轉化成String型別。
目測是dubbo序列化不允許直接傳遞陣列型別,後面再研究。
到此這篇關於Dubbo retries 超時重試機制的問題的文章就介紹到這了,更多相關Dubbo retries 超時重試內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45