dubbo消费者调用超时,多次重复调用导致服务端报错

dubbo消费端RPC调用默认超时时间为1000ms。

        因为我有个服务需要调用支付宝第三包接口与使用FTP上传文件。在自己租的腾讯云服务器(乞丐版,运行速度有点慢)上正常来说这个服务都要1s以上才能返回。导致我消费端判断超时后就重复调用这个接口,导致服务端多次使用ftp上传文件后报错。

        一开始看到服务端报错,一直以为是服务端代码问题,不断地在打日志debug,也没找到什么问题。在本地使用单元测试运行这个服务方法,也完全不会报错。 后面看日志才发现,消费端提示timeout and retries。 查看dubbo默认超时时间,才1秒。这时间对机器资源不丰富的情况下是极有可能出现1s以上才返回的。导致多次重复调用。而因为重复调用服务,ftp初始化和关闭交叉错乱,导致ftp也报错。所以一开始以为是服务端有bug,方向错误导致问题定位耗时很长。

        问题总结:

1、没找准问题所在。服务端并无问题而是消费端重试调用导致。

2、没有在服务端进行幂等性设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值