课程 291 / 365
80%
数据结构与算法直觉·理解·10 分钟
正文已完成

方案取舍要比较整组代价

把速度、内存、复杂度、可靠性和可维护性放在同一张决策表中。

L291

工程方案很少在所有维度都更好。缓存减少等待却带来失效问题,并行提高吞吐却增加协调难度,第三方服务省开发时间却引入依赖。成熟判断会把整组代价说清楚。

这一课的结果

能解释一个技术方案优化了什么,又把代价转移到了哪里。

核心概念

先把关键判断说清楚

01

优化总有支付方

更快通常用内存、预计算或复杂度支付;更简单可能用性能或灵活性支付。

02

失败成本决定权重

作品展示页可接受短暂降级,结算系统更看重一致性与可恢复,不能共用同一权重。

03

可逆性降低决策风险

能小范围试点、保留回滚和逐步迁移的方案,即使初始收益相近,也更适合不确定环境。

案例拆解

搜索缓存的收益与失效代价

团队希望给课程搜索加缓存以减少 80 毫秒查询,但课程更新后旧标题可能保留一小时。

  1. 01

    列出收益是热门查询减少计算,p95 预计下降 30 毫秒。

  2. 02

    列出代价是缓存内存、失效逻辑、更新后短暂陈旧和调试复杂度。

  3. 03

    发现当前流量低且延迟已达标,决定暂不缓存,只保留指标与触发阈值。

案例结果

团队避免为微小收益引入长期一致性成本,同时保留未来重评条件。

提交前练习

现在轮到你

选择一个正在讨论的技术方案,写出它的收益、支付代价和可逆性。

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

参考答案

方案是将图片处理并行化;收益是总耗时预计从 20 分钟降到 6 分钟;代价是峰值内存和失败合并复杂度;失败会延迟内部发布;先对 10% 任务启用,并保留串行开关与原文件。

评分标准

  • 收益有测量口径
  • 至少列出两类代价
  • 可逆设计能实际执行

本课收口 · 学习证据

完成,不等于随手打一个勾。

确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。

0 / 3
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
下面哪项最符合工程取舍?
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。

资料来源

继续核对与延伸阅读

本课内容最近更新于