判断哪些操作可撤销
列出每一步的副作用、是否可逆及可撤销时间窗口。数据库写入可能可逆;已发送邮件、外部付款或物理操作则可能需要后续补救,而非真正回滚。
与业务负责人定义补偿行为,例如退款还是撤销、取消还是删除,或写入更正记录。确保操作具备幂等性并关联原始操作,避免重试时重复补偿。
让恢复状态清晰可见
使用关联标识记录原始步骤、补偿尝试和最终状态。若补偿失败,应进入可审查状态,而不是把整个流程标记成功或悄悄放弃。
测试每个边界上的故障,包括原始副作用已成功但响应尚未保存的情况。记录哪些结果需要人工审查,以及操作人员如何安全恢复流程。