为操作分配稳定标识
使用在重试期间保持不变的事件或请求标识。创建付款、工单、通知或记录前,检查该标识是否已处理;适当时直接返回先前结果。
确保检查和写入能够安全应对并发。两个工作进程同时处理事件时,简单的先读后写可能发生竞争;应使用数据存储支持的原子机制或唯一约束。
让重试可观察且有上限
记录尝试次数、事件标识和最终结果,但不要记录机密。区分暂时故障与永久验证错误,避免对无法原样成功的工作反复重试。
设置重试上限,并为耗尽的任务提供可审查的失败路径。修复后应能检查并安全重放,同时保留原标识,避免重复已完成的副作用。