服务端日志已经显示返回结果,结果为自定义对象
格式如下:
AcctQueryFacadeImpl.acctBalanceQuery00, resp=AcctBalanceQuery00Resp[uid=1355739,acctStatus=N,createTime=Fri Mar 04 21:36:31 CST 2016,updateTime=Wed Apr 20 19:52:24 CST 2016,acctId=4985191,balance=0,frozenBalance=0,withdrawBalance=0,respDesc=成功,respCode=000000], time=2ms
客户端接收到的对象为null
该现象并不是必现,
jdk1.8
dubbo版本 2.5.3
服务端4台,客户端10台左右
dubbo服务端配置如下:
<dubbo:application name="xxx" owner="yy"/>
<dubbo:registry protocol="zookeeper" client="zkclient" address="${dubbo.zk.servers}" group="${dubbo.zk.group}"></dubbo:registry>
<dubbo:protocol name="dubbo" port="20909"></dubbo:protocol>
<dubbo:provider retries="0" timeout="6000"></dubbo:provider>
<dubbo:service interface="xxxx" ref="xxx"></dubbo:service>
dubbo消费端配置:
<dubbo:application name="${application.name}" owner="${dubbo.application.owner}"/>
<dubbo:registry protocol="zookeeper" client="zkclient" address="${dubbo.zk.servers}" group="${dubbo.zk.group}"></dubbo:registry>
<dubbo:protocol name="dubbo" port="${dubbo.protocol.port}"></dubbo:protocol>
<dubbo:monitor address="${dubbo.monitor.address}"></dubbo:monitor>
<dubbo:consumer retries="0" timeout="6000" check="false"></dubbo:consumer>
看起来有点和高并发有关系,出现的几率不大,你们现在的并发峰值大概是多少
出现问题时,并发量可能并不高,不超过100,而且并发量最高的业务,并没有出现异常,反而是一个并发并不高的业务请求查询时,出错概率奇高,发生3次批量调用,20笔调用,3笔出现问题
调用关系:该出问题业务模块为C,功能服务为B和A,调用次序是,C->B->A,均是dubbo通信调用。
出问题时,A返回结果,B拿到null,B封装一个结构返回至C,C拿到null。
@chen_yongkai