Dubbo超时

场景

用户补偿积分,数据量在10W条左右,Api消费者调用Oms服务提供者,Oms消费者调用Point积分提供者。

错误补偿积分产生的结果

1.同一用户会有相同的数据原因补偿的积分,重复多次。
2.不同的用户有不同次数的数据补充积分,不同用户被执行的次数不一样。

产生的原因

dubbo服务调用过程中,Api消费者调用Oms服务提供者,数据量太大,Oms在处理后对Api消费者的响应时间太长,超过Api消费者设置的响应时间1分钟,并且APi消费者设置了重试机制;
<dubbo:consumer check="false" retries="1" timeout="60000"/>
retries:重试机制的次数;timeout:超时时间设置
在Oms服务提供者还没有响应之前又一次调用Oms服务,导致同一个用户会因为相同的数据原因进行积分的重复补偿。

解决办法

1.对大的数据量进行分批,依次调用Oms服务,并且保证分批的数据量调用的时间在超时时间范围之内
2.也可以将消费者端的超时时间设置变大

同理

当Api服务 认时间设置为60s,Oms服务 认时间设置为30s 在Oms服务调用Point积分服务,积分服务响应超过30s时,在整个服务调用过程中要以短的认时间为准。

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...