本章进度 16 / 18
89%
Harness 与工作流·理解·10 分钟
正文已完成

重试、重放和回滚不是一回事

根据失败位置和副作用选择继续当前步骤、从检查点重放或恢复旧状态。

L147
为什么现在学

先用本课建立“失败恢复”的基本直觉,后面的判断和练习才不会只靠记结论。

本课会用什么
  • 无需安装新工具
  • 直接阅读并完成本页理解检查

工具失败后“再来一次”可能重做已完成副作用。恢复前要知道失败发生在哪、哪些状态已持久化、动作是否幂等。

这一课的结果

能区分三种恢复动作及其适用前提。

核心概念

先把关键判断说清楚

01

重试重复当前动作

适合幂等、瞬时失败且前置状态未变化的单步调用。

02

重放从检查点恢复

重新执行一段确定流程,要求输入版本固定且已完成副作用可去重。

03

回滚恢复业务状态

用备份、事务或补偿动作撤销部分结果,不能简单删除审计历史。

案例拆解

报告生成失败在最后一步

数据读取和计算已成功持久化,生成 PDF 时进程崩溃。

  1. 01

    不重跑昂贵数据读取,直接从“已验证指标表”检查点恢复。

  2. 02

    PDF 生成使用相同输入哈希重试,输出文件名带版本。

  3. 03

    若旧半成品存在,标记 failed_artifact 而非伪装删除历史。

案例结果

恢复只重做必要节点,已验证数据成果得到复用。

提交前练习

现在轮到你

为三个失败场景选择重试、重放或回滚。

选做练习:本节练习可用于加速你巩固,但不影响继续学习。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

查询超时→幂等重试;渲染崩溃→从已验证数据检查点重放渲染;错误批量更新→按变更日志执行补偿回滚并保留审计。

评分标准

  • 选择与失败层匹配
  • 考虑已发生副作用
  • 恢复前提可验证

本课收口 · 理解检查

用 30 秒确认你理解了

用 30 秒理解检查确认你抓住了重点;阅读标记、练习和总结都不设硬门槛。

0 / 1
02完成练习(选做)0 / 3 项已填写,不影响完成03通过理解检查点此去回答,约 30 秒
04补一句总结(可选)可以留空,不影响完成本课。
从一个已保存的可信状态重新执行后续多步,属于?
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。

资料来源

继续核对与延伸阅读

本课内容最近更新于 。