课程 291 / 365
80%
正文已完成
L291方案取舍要比较整组代价
把速度、内存、复杂度、可靠性和可维护性放在同一张决策表中。
工程方案很少在所有维度都更好。缓存减少等待却带来失效问题,并行提高吞吐却增加协调难度,第三方服务省开发时间却引入依赖。成熟判断会把整组代价说清楚。
能解释一个技术方案优化了什么,又把代价转移到了哪里。
核心概念
先把关键判断说清楚
优化总有支付方
更快通常用内存、预计算或复杂度支付;更简单可能用性能或灵活性支付。
失败成本决定权重
作品展示页可接受短暂降级,结算系统更看重一致性与可恢复,不能共用同一权重。
可逆性降低决策风险
能小范围试点、保留回滚和逐步迁移的方案,即使初始收益相近,也更适合不确定环境。
案例拆解
搜索缓存的收益与失效代价
团队希望给课程搜索加缓存以减少 80 毫秒查询,但课程更新后旧标题可能保留一小时。
- 01
列出收益是热门查询减少计算,p95 预计下降 30 毫秒。
- 02
列出代价是缓存内存、失效逻辑、更新后短暂陈旧和调试复杂度。
- 03
发现当前流量低且延迟已达标,决定暂不缓存,只保留指标与触发阈值。
案例结果
团队避免为微小收益引入长期一致性成本,同时保留未来重评条件。
提交前练习
现在轮到你
选择一个正在讨论的技术方案,写出它的收益、支付代价和可逆性。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
方案是将图片处理并行化;收益是总耗时预计从 20 分钟降到 6 分钟;代价是峰值内存和失败合并复杂度;失败会延迟内部发布;先对 10% 任务启用,并保留串行开关与原文件。
评分标准
- 收益有测量口径
- 至少列出两类代价
- 可逆设计能实际执行
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- Monitoring Distributed Systems↗reference · 核对日期 2026-08-23
- Pro Git↗reference · 核对日期 2026-08-23