小东Freeman + 关注

签名:我们爱我们的倒霉工作,也爱这千疮百孔的世界。

dubbo服务RpcException异常:Tried 3 times of the providers 或com.alibaba.dubbo.remoting.TimeoutException

发表于 14天前   126次查看    0评论  4 赞

最近在做一个项目,为了方便系统分离合并,采用dubbo实现,在debug测试过程中每次调用dubbo服务时就会产生异常。


调用后台执行了三次,也就是服务调了三次,看后台总是看到一个tried 3 times……这也正是产生三次的原因,后来仔细看了后台异常说的是……timeout……,那么自然想到是服务超时,个人觉得是在调用一次服务时,后台需要执行的时间太长,超出了服务的响应超时时间(response timeout),所以它会再次尝试调用服务,可能是dubbo服务的设置,最多尝试三次,所以就会产生调用三次服务。


修改dubbo服务的超时时间timeout这里边仔细介绍了设置超时时间的方法,还进行了详细分析,开始默认设置的timeout=1000,少量的可以正常完成,可是数大点就不行了,后来有同事说可以设置timeout=0就没有超时时间,但是测试过,不可以,因为默认的是500,你设置了0,就是不管怎样都是超时了,这个和其他框架的配置不太一样,后来在服务提供端设置timeout=4000,ok!


这样就解决了,当然你也可以根据自己的需求更改timeout的时间。


配置方式:

//直接在你用的框架里添加就好
dubbo.consumer.timeout=4000

或者

<dubbo:service interface="com.XXXX.XXXXX.Service" ref="Service" timeout="4000"/>

具体参考:dubbo官方配置指南

4人已赞


本文由Fun言网 – 小东Freeman创作,转载请务必附上本文链接和出处,欢迎参与我们的付费投稿计划


你还没有登录,请先 登录注册!
文章评论0