失败场景: 1. A 调用 B 超时或无响应,A 一般要进行重试,并且在重试前调用 B 所提供的对外查询接口,检查 B 的执行状态,如果 B 的执行状态显示 ok ,就不再发起重试调用,并把 A 的调用改为成功 2. A 调用 B 直接返回异常,A 进行重试,重试间隔时间可以用指数退避算法计算差值,直至达到重试阈值,触发告警后进行人工处理
在 B 处理请求时,可以先回调 A 所提供的对外查询接口,判断 A 操作的执行状态,从而进行不同的逻辑处理
幂等场景:在有业务状态的场景下,可以用业务状态做好幂等;在无业务状态的场景下,用业务唯一 ID 保证幂等