dubbo:com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method部分原因分析以及解决

今天调试代码的时候发现也很奇怪的问题:

如果把offset,改为小于4的数,就报如题错误,其他的请求都是正常;测试其他接口改为0也是正常。百度如题的原因,大部分都是这篇文章描述的问题:https://blog.csdn.net/china_bobo/article/details/53897989  但是我的检查了不是这个,从上面的操作也不是这个问题。

后面又继续看了错误的打印:

有这样一些日志: Waiting server-side response timeout. start time: 2018-07-26 15:00:09.705, end time: 2018-07-26 15:00:10.707, client elapsed: 1 ms, server elapsed:

此时百度,说是请求超时,一开始也往这边想了,但是只是请求十条数据,并且之前都是好了,就突然报错。。。也只能死马当活马医,就试试。。。改了服务端的响应时间,发现就好了。

附修改的代码,给提供服务的服务配置超时时间

这是xml的dubbo配置

<dubbo:service interface="com.XXXX.XXXXX.IlampService" ref="lampService" timeout="1200000"/>

注解的操作

@Service(
		interfaceName = "cn.xlink.cecep.api.service.ILampService",
		timeout = 1200000)

目前解决方法就是这样。

深层次的原因后面自己再去分析,应该 是以下原因一直:1、数据库数据量大,未建立有效的索引,mongo里面的filter太多,查询耗时,导致服务端响应慢,客户端以为请求未响应,才报错。2、网络原因,因为mongodb和zk,在不同不服务,我这里是本地测试。  目前就能想到这两个原因,后面有时间再研究。

原文地址:https://www.cnblogs.com/timeout/p/10145634.html