外部系统对接下单幂等性校验逻辑及接口超时处理

2024-10-09 11:00:10 浏览数 (1)

外部系统对接下单幂等性校验逻辑及接口超时处理

feign.RetryableException: Read timed out executing POST

接上篇:外部系统对接下单幂等性校验逻辑及事务提交锁表的处理

https://cloud.tencent.com/developer/article/2455687

整体思路:逻辑的完整性,而不是随意的逻辑开洞。

1.增加feign接口的超时时间,9秒

2.针对返回的错误码,查询该订单号信息返回给外部系统,代表订单下单成功

3.针对返回的错误码,先将该笔订单做取消操作,然后让下一次外部的请求可以下单成功

4.A系统(feign服务调用方,更新外部订单号关联中间表) --> B系统(服务提供方),如果接口超时,则外部订单号关联中间表无法更新关联,可以考虑将方案调整为:B系统(服务提供方,更新外部订单号关联中间表)

这样就可以回到原来正常的业务逻辑上:

1.外部订单号关联中间表是否已经存在订单号,没有,则新下单

2.存在订单号

代码语言:txt复制
2.1 接口请求签名一致,则直接返回当前的订单号给外部系统。
代码语言:txt复制
2.2 接口请求签名不一致,则将当前的订单号先取消,然后再重新下单,返回给外部系统。

0 人点赞