Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

可靠系统设计与电商架构

System Design: Reliable Systems and E-Commerce Architecture

这是一本面向中高级工程师、技术负责人和架构师的系统设计实践书。全书围绕“如何设计能够长期运行的复杂系统”展开,覆盖系统设计方法论、生产可靠性、数据一致性、长流程治理,以及商品、库存、营销、计价、订单、支付和履约等电商核心领域。

本书不止讨论如何画出架构图,更关注系统在真实生产环境中如何面对流量增长、故障恢复、数据不一致、业务变更、对账补偿和资损风险,帮助读者建立从问题定义、边界划分、数据建模、架构权衡,到上线治理、故障复盘和持续演进的完整系统设计方法。

本书强调三个判断:

  • 系统设计首先是业务边界、数据事实和失败语义的设计,不只是组件堆叠。
  • 架构方案必须能经受生产环境的流量、故障、变更、对账和资损风险考验。
  • 电商系统是理解复杂业务系统的高密度样本,商品、库存、营销、计价、订单、支付和供应商同步能覆盖大量通用架构问题。

适合读者

  • 已有后端开发经验,希望系统化提升架构设计能力的工程师。
  • 正在负责业务系统拆分、重构、稳定性治理或技术方案评审的技术负责人。
  • 准备系统设计面试,希望把项目经验组织成清晰表达的候选人。
  • 希望通过电商场景理解交易链路、一致性、对账、补偿和资损防控的读者。

本书结构

  1. 系统设计方法论(第 1-9 章):问题定义、方案设计、业务边界、内部结构、系统集成、架构质量与编码落地。
  2. 生产治理(贯穿第 3、4、7 章和第 11-14 章):覆盖可靠性、对账补偿、DLQ、故障恢复、资损防控、容量规划、限流、熔断和降级。
  3. 电商系统设计实战(第 10-14 章):电商全景、商品供给、库存、营销与计价,以及 C 端交易全生命周期。
  4. 附录面试题库(附录 D-F):附录 D 保留原有系统设计训练题库,附录 F 收录 1-10 年互联网后端工程师高频系统设计 50 题,附录 E 提供后端基础知识题单。

全书逐章速览

第一部分:系统设计方法论

章节主题内容速览阅读收获
第 1 章系统设计与方案写作从系统设计的核心问题、容量成本权衡和一致性取舍出发,把架构判断组织成可评审、可执行、可复盘的技术方案。建立从问题定义到 TD 落地的设计表达能力。
第 2 章编码、重构与 Code Review把架构意图落到代码边界、重构节奏和评审标准中,讨论如何避免 Controller、Service、DAO 与外部依赖混杂。用代码结构和 Review 持续守住系统可演进性。
第 3 章生产治理与技术债务以治理、保障和技术债务的反馈环为主线,拆解 SLO、错误预算、韧性设计、应急保障和还债机制。能把稳定性、债务和交付速度放进同一套治理框架评估。
第 4 章大事务与最终一致性从电商创单切入,比较同步 RPC、Saga、TCC、Outbox 和补偿机制,说明跨系统副作用如何收敛。设计可恢复、可补偿、可审计的大事务链路。
第 5 章长生命周期业务流程区分大事务和长流程,围绕订单、商品、退款、入驻和审批等场景展开状态机、编排、恢复与治理。掌握业务对象跨阶段推进的状态建模和恢复设计。
第 6 章任务处理与 Agent 协作从短任务、长任务、后台任务到 Agent 协作,梳理任务生命周期、调度、幂等、重试、可观测和人机协同边界。为异步任务和长任务系统建立清晰的执行与治理模型。
第 7 章高准确性与强一致性聚焦支付、库存和账务等不能只靠最终一致性口号兜底的场景,强调权威事实、CP 核心段、幂等和对账。能优先保护业务事实,并为强一致链路设计吞吐边界。
第 8 章低延迟复杂读面向搜索、推荐、广告和 Feed,分析读写不对称、复杂查询、结果质量和性能耦合下的读模型与缓存策略。设计高性能读路径,并说明一致性、相关性和延迟取舍。
第 9 章高并发写与热点以秒杀、社交互动和流量洪峰为代表,讨论削峰、排队、热点隔离、快反馈和后端异步收敛。能识别极端写入热点,并设计抗洪峰的写链路。

第二部分:电商系统设计实战

章节主题内容速览阅读收获
第 10 章电商系统全景从业务架构、应用架构、数据架构和技术架构拆解电商核心域与支撑域,建立交易与支付主线。用全景图识别电商系统边界、依赖和核心风险。
第 11 章商品中心、商品供给与生命周期治理合并商品主数据、供给入口、批量任务、审核、库存协同、发布一致性和生命周期治理,建立从来源输入到交易快照的端到端模型。设计可恢复、可审计、可演进的商品供给与商品中心平台。
第 12 章库存系统讨论库存的通用模型、虚拟库存、可售锁定已售、并发扣减、超卖防控、释放和对账补偿。区分热路径和权威路径,设计高并发且最终正确的库存系统。
第 13 章营销与计价系统合并优惠券、积分、活动规则、预算控制、资格校验、营销库存、价格层、会员权益、税费和运费,覆盖试算、锁定、核销、释放、复算和大促降级。设计可叠加、可核销、可解释、可复算且能控制资损的营销与计价链路。
第 14 章C 端交易全生命周期合并搜索导购、详情、购物车、结算、创单、订单、支付、履约和售后,围绕同一条用户交易主线展开。以搜索读模型、权威事实、快照、状态机、支付渠道、退款、对账、幂等、补偿和治理设计完整 C 端交易链路。

附录

条目主题内容速览阅读收获
附录 D系统设计题库用核心案例训练设计判断,用覆盖索引和历史详细材料保留原题主题、答案、追问和模拟面试。能按训练目标选择题目,同时查阅原有专题细节。
附录 E后端面试基础知识题单面向 3–10 年开发工程师,筛选 1,000 道高频、通用的存储、缓存、消息、搜索、容器、操作系统、网络、工程工具和编程语言题目,去除具体业务题。按小主题复习高频后端基础知识。
附录 F高频系统设计 50 题面向 1–10 年互联网后端工程师,按电商交易、高并发、海量数据、一致性、中间件、可观测性和架构演进组织题目与答题提示。按优先级和训练轮次进行系统设计面试复习。

阅读路线

  • 架构主线:第 1-9 章,配合第 10-14 章电商实战。适合希望建立完整系统设计框架的读者。
  • 电商实战主线:第 10-14 章。适合正在做交易系统、供给系统或支付系统的读者。
  • 可靠性主线:第 3、4、7 章,结合第 14 章订单、支付和交易闭环阅读。适合做稳定性、故障恢复和资损防控治理。
  • 面试主线:附录 E 用于补齐后端基础知识,附录 D 用于系统设计题训练。先按小主题复习基础题,再选择核心案例或约束变体,并使用附录 D 中的限时模拟面试进行演练。
  • 基础补齐主线:附录 E。适合按小主题补齐系统设计背后的计算机基础和编码能力。

使用建议

读这本书时,不建议只记结论。更好的方式是每读完一个系统章,都回答四个问题:

  1. 这个系统的权威数据是什么?
  2. 它负责什么,又明确不负责什么?
  3. 它和上下游如何协作,失败后由谁补偿?
  4. 它的监控、对账、灰度、回滚和资损防控怎么设计?

如果能把这四个问题说清楚,就已经从“功能设计”进入了“系统设计”。

本地构建

需安装 mdBook。本书复用 tools/mermaid-preprocessor.py 处理 Mermaid 图表。

cd books/reliable-system-design
mdbook build
mdbook serve

也可以在仓库根目录生成到 Hexo 本地预览目录并启动服务:

npm run server:reliable-system-design

启动后访问:

http://localhost:3000/reliable-system-design/