发布时间:2023-01-19 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

dubbo超时设置方式

dubbo服务引用可以细化到接口级别。

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

也可以在@Reference注解上给timeout属性赋值,来指定特定接口的超时时间。

dubbo实战篇:dubbo超时设置

注意

通过@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超时重试
调用超时怎么办?且不可头疼医头