dubbo timeout(dubbo实战篇:dubbo超时设置)
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超时重试
调用超时怎么办?且不可头疼医头创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!