buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

dubbo实战篇:dubbo超时设置

consumer端可以从服务级和接口级这两层级来设置接口调用的超时时间。

dubbo超时设置方式

在springboot项目中,dubbo消费者在设置dubbo超时时间时,可以在application.yml里设置属性 dubbo.consumer.timeout。这是服务级

dubbo服务引用可以细化到接口级别。我们可以在@Reference注解上给timeout属性赋值,来指定特定接口的超时时间。

 

注意

通过@Reference指定接口级timeout时,需要注意的是:在消费者服务中,不同的bean利用@Reference注入同一个dubbo接口时,如果其中一个@Reference有指定timeout,那么,对于整个应用服务来说,这个接口的超时时间可能是这个timeout值,也可能是默认值,这取决于消费者服务在启动时,哪个bean先装载到容器中。

 

所以,如果某个dubbo服务接口里存在耗时严重的方法接口,那么,在设置超时时间时,除非你确信不调用这个耗时方法,否则不要设置得太小,以免发生超时异常。诸如:org.apache.dubbo.rpc.RpcException: Failed to invoke the method selectEnterpriseByEntId in the service。server elapsed: 1515 ms, timeout: 1500 ms

 

dubbo超时相关文章:
dubbo实战篇:dubbo超时重试 
调用超时怎么办?且不可头疼医头

posted on 2023-01-19 18:49  buguge  阅读(2363)  评论(1编辑  收藏  举报