dubbo超时时间设置过大有啥影响

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo超时时间设置过大有啥影响相关的知识,希望对你有一定的参考价值。

参考技术A 客户端资源大量线程挂起。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,如果超时时间设置得太短,复杂业务本来就需要很长时间完成,服务端无法在设定的超时时间内完成业务处理,如果超时时间设置太大,会由于服务端或者网络问题导致客户端资源大量线程挂起。需要严格把控时间。

dubbo实战篇:dubbo超时设置

在springboot项目中,dubbo消费者在设置dubbo超时时间时,可以在application.yml里设置属性 dubbo.consumer.timeout。这是服务级。也可以在@Reference注解上给timeout属性赋值,来指定特定接口的超时时间。

dubbo超时设置方式

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

 

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

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

以上是关于dubbo超时时间设置过大有啥影响的主要内容,如果未能解决你的问题,请参考以下文章

dubbo的超时机制

今天,给大家准备的是dubbo相关的面试题精选(共38题,含详细答案解析)

Dubbo默认超时时间

dubbo超时优先级设置

Java:这两种设置Socket超时时间的方法有啥不同吗?

DUBBO 超时异常怎么抓到,并处理记入数据库