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