超时不代表没有成功
请求超时可能发生在服务已经完成处理之后。如果直接创建新的业务请求重发,可能产生重复记录。重试前应依据实际接口约定查询处理结果,或使用双方认可的幂等机制。
约定业务唯一性
确定以哪个稳定标识代表同一业务事件,并约定该标识的有效范围。订单创建、状态更新和更正可能是不同事件,不能简单复用一个无法区分业务动作的值。
设计可跟踪的重试流程
- 记录业务唯一标识、请求时间、请求编号和响应结果。
- 区分可重试的临时失败与需要修正数据的永久失败。
- 按接口文档约定设置重试间隔、次数上限和限流处理。
- 达到上限后转入人工跟进,保留原始请求与后续处理关系。
联调时覆盖这些情况
验证正常请求、相同事件重复到达、处理完成后响应丢失、旧状态晚于新状态到达,以及更正请求。确认不会重复创建订单、回退已确认状态或丢失失败记录。具体行为需由接口契约和实际测试共同确认。