来源书籍

从0开始学架构

软件架构方法论类

类别清单覆盖

尚未完成类别清单核对。

全书概览

从0开始学架构(李运华)

类别:软件架构方法论类

评级结论:经典原理(高信息浓度 × 高稳定性)

理由:

  1. 讲原理而非操作步骤——”架构设计三原则”不是操作手册,而是判断和取舍的思维框架(合适原则、简单原则、演化原则);”CAP理论”章节专门辨析不同资料对 C/A/P 定义的细微差异,并追溯到原始论文,属于深挖底层逻辑而非科普速览。
  2. 复杂度来源分析(高性能/高可用/可扩展性/低成本/安全/规模)提供了一套分析架构问题的稳定框架,不依赖具体技术栈。
  3. 架构重构章节讲的是”有的放矢”这类可迁移的判断方法论(如何从一堆问题里识别真正需要重构的核心问题),而非某个工具的使用说明。
  4. 例外:“互联网架构模板”系列(40-44章)和部分”开源项目使用”相关章节会列举具体技术栈(Docker/K8s/Nginx/具体开源系统名称),时效性较低,已标记为略读;但不足以拉低全书整体评级。

(用户已确认此评级,2026-07-12)

章节进度追踪表

章节号 章节标题 精读/略读 状态 卡片数
01 简介 略读 done 0
02 开篇词|照着做,你也能成为架构师! 精读 done 1
03 01|架构到底是指什么? 精读 done 3
04 02|架构设计的历史背景 精读 done 2
05 03|架构设计的目的 精读 done 2
06 04|复杂度来源:高性能 精读 done 2
07 05|复杂度来源:高可用 精读 done 3
08 06|复杂度来源:可扩展性 精读 done 2
09 07|复杂度来源:低成本、安全、规模 精读 done 3
10 08|架构设计三原则 精读 done 3
11 09|架构设计原则案例 精读 done 1
12 10|架构设计流程:识别复杂度 精读 done 2
13 特别放送|”华仔,放学别走!”第1期 略读 done 0
14 11|架构设计流程:设计备选方案 精读 done 3
15 12|架构设计流程:评估和选择备选方案 精读 done 3
16 13|架构设计流程:详细方案设计 精读 done 2
17 14|高性能数据库集群:读写分离 精读 done 3
18 15|高性能数据库集群:分库分表 精读 done 3
19 16|高性能NoSQL 精读 done 3
20 特别放送|”华仔,放学别走!”第2期 略读 done 0
21 17|高性能缓存架构 精读 done 3
22 18|单服务器高性能模式:PPC与TPC 精读 done 2
23 19|单服务器高性能模式:Reactor与Proactor 精读 done 3
24 20|高性能负载均衡:分类及架构 精读 done 2
25 21|高性能负载均衡:算法 精读 done 2
26 22|想成为架构师,你必须知道CAP理论 精读 done 3
27 23|想成为架构师,你必须掌握的CAP细节 精读 done 6
28 24|FMEA方法,排除架构可用性隐患的利器 精读 done 4
29 25|高可用存储架构:双机架构 精读 done 4
30 26|高可用存储架构:集群和分区 精读 done 3
31 27|如何设计计算高可用架构? 精读 done 3
32 28|业务高可用的保障:异地多活架构 精读 done 3
33 特别放送|如何高效地学习开源项目 第3期 精读 done 2
34 29|异地多活设计4大技巧 精读 done 4
35 30|异地多活设计4步走 精读 done 4
36 31|如何应对接口级的故障? 精读 done 3
37 32|可扩展架构的基本思想和模式 精读 done 3
38 33|传统的可扩展架构模式:分层架构和SOA 精读 done 3
39 34|深入理解微服务架构:银弹or焦油坑? 精读 done 4
40 35|微服务架构最佳实践-方法篇 精读 done 3
41 36|微服务架构最佳实践-基础设施篇 精读 done 3
42 37|微内核架构详解 精读 done 3
43 38|架构师应该如何判断技术演进的方向? 精读 done 2
44 39|互联网技术演进的模式 精读 done 3
45 40|互联网架构模板:”存储层”技术 略读 done 0
46 41|互联网架构模板:”开发层”和”服务层”技术 略读 done 0
47 42|互联网架构模板:”网络层”技术 略读 done 0
48 43|互联网架构模板:”用户层”和”业务层”技术 略读 done 0
49 44|互联网架构模板:”平台”技术 略读 done 0
50 45|架构重构内功心法第一式:有的放矢 精读 done 2
51 46|架构重构内功心法第二式:合纵连横 精读 done 2
52 47|架构重构内功心法第三式:运筹帷幄 精读 done 2
53 48|再谈开源项目:如何选择、使用以及二次开发? 精读 done 4
54 49|谈谈App架构的演进 精读 done 2
55 50|架构实战:架构设计文档模板 略读 done 0
56 特别放送|架构师成长之路 第4期 精读 done 4
57 结束语|坚持,成就你的技术梦想 精读 done 2

Spine 映射表(供续跑定位文件用)

章节号 文件路径(相对 _epub-src/OEBPS/)
01 简介 Text/part0000_split_000.html
02 开篇词 Text/part0001.html
03 ch01 Text/part0002_split_000.html
04 ch02 Text/part0003_split_000.html
05 ch03 Text/part0004_split_000.html
06 ch04 Text/part0005_split_000.html
07 ch05 Text/part0006_split_000.html
08 ch06 Text/part0007_split_000.html
09 ch07 Text/part0008_split_000.html
10 ch08 Text/part0009_split_000.html
11 ch09 Text/part0010_split_000.html
12 ch10 Text/part0011_split_000.html
13 特别放送1 Text/part0012_split_000.html
14 ch11 Text/part0013_split_000.html
15 ch12 Text/part0014_split_000.html
16 ch13 Text/part0015_split_000.html
17 ch14 Text/part0016_split_000.html
18 ch15 Text/part0017_split_000.html
19 ch16 Text/part0018_split_000.html
20 特别放送2 Text/part0019_split_000.html
21 ch17 Text/part0020_split_000.html
22 ch18 Text/part0021_split_000.html
23 ch19 Text/part0022_split_000.html
24 ch20 Text/part0023_split_000.html
25 ch21 Text/part0024_split_000.html
26 ch22 Text/part0025_split_000.html
27 ch23 Text/part0026_split_000.html
28 ch24 Text/part0027_split_000.html
29 ch25 Text/part0028_split_000.html
30 ch26 Text/part0029_split_000.html
31 ch27 Text/part0030_split_000.html
32 ch28 Text/part0031_split_000.html
33 特别放送3 Text/part0032_split_000.html
34 ch29 Text/part0033_split_000.html
35 ch30 Text/part0034_split_000.html
36 ch31 Text/part0035_split_000.html
37 ch32 Text/part0036_split_000.html
38 ch33 Text/part0037_split_000.html
39 ch34 Text/part0038_split_000.html
40 ch35 Text/part0039_split_000.html
41 ch36 Text/part0040_split_000.html
42 ch37 Text/part0041_split_000.html
43 ch38 Text/part0042_split_000.html
44 ch39 Text/part0043_split_000.html
45 ch40 Text/part0044_split_000.html
46 ch41 Text/part0045_split_000.html
47 ch42 Text/part0046_split_000.html
48 ch43 Text/part0047_split_000.html
49 ch44 Text/part0048_split_000.html
50 ch45 Text/part0049_split_000.html
51 ch46 Text/part0050_split_000.html
52 ch47 Text/part0051_split_000.html
53 ch48 Text/part0052_split_000.html
54 ch49 Text/part0053_split_000.html
55 ch50 Text/part0054_split_000.html
56 特别放送4 Text/part0055_split_000.html
57 结束语 Text/part0056.html

注:每章可能由多个 _split_NNN.html 文件组成(如 part0002_split_000~005),精读时需按 spine 顺序读取该章全部 split 文件。

章节与卡片

02 开篇词|照着做,你也能成为架构师!

  1. 架构设计与编程思维的差异 普通读书笔记卡

03 01|架构到底是指什么?

  1. 系统的涌现性——组成系统的三个条件 普通读书笔记卡
  2. 模块与组件的区分标准 普通读书笔记卡
  3. 框架关注规范,架构关注结构 普通读书笔记卡

04 02|架构设计的历史背景

  1. 软件方法论演进的共同模式 普通读书笔记卡
  2. 软件架构问题为何只出现在大系统里 普通读书笔记卡

05 03|架构设计的目的

  1. 架构设计的目的是解决复杂度问题 普通读书笔记卡
  2. 复制别人的架构等于复制错了问题 普通读书笔记卡

06 04|复杂度来源:高性能

  1. 判断新技术是否会增加系统复杂度 普通读书笔记卡
  2. 任务拆分为何能提升性能又有上限 普通读书笔记卡

07 05|复杂度来源:高可用

  1. 高性能与高可用都靠冗余,但目的不同 普通读书笔记卡
  2. 存储高可用的难点是应对数据不一致而非备份本身 普通读书笔记卡
  3. 高可用状态决策的根本矛盾(独裁/协商/民主三种模式) 普通读书笔记卡

08 06|复杂度来源:可扩展性

  1. 可扩展性设计的核心悖论——预测变化 普通读书笔记卡
  2. 应对变化的两种典型手段及其代价 普通读书笔记卡

09 07|复杂度来源:低成本、安全、规模

  1. 低成本与高性能高可用天然冲突 普通读书笔记卡
  2. 功能安全防小偷,架构安全防强盗 普通读书笔记卡
  3. 规模复杂度的本质是量变引起质变 普通读书笔记卡

10 08|架构设计三原则

  1. 合适原则——为什么照搬业界领先方案常常失败 普通读书笔记卡
  2. 简单原则——结构复杂度会降低可用性并拖慢定位问题 普通读书笔记卡
  3. 演化原则——软件架构应该像生物一样演化而非一步到位 普通读书笔记卡

11 09|架构设计原则案例

  1. 早期系统靠买,规模到临界点才靠重构 普通读书笔记卡

12 10|架构设计流程:识别复杂度

  1. 复杂度问题应优先级排序解决而非全面开花 普通读书笔记卡
  2. 用峰值倍数预留性能余量的实战方法 普通读书笔记卡

14 11|架构设计流程:设计备选方案

  1. 架构方案的本质是成熟技术的组合 普通读书笔记卡
  2. 备选方案设计的三个常见误区 普通读书笔记卡
  3. 好的备选方案应满足的三个条件 普通读书笔记卡

15 12|架构设计流程:评估和选择备选方案

  1. 评估备选方案:按优先级排序而非计分 普通读书笔记卡
  2. 容量规划的经验法则:按当前规模的2~4倍设计 普通读书笔记卡
  3. 技术选型是业务权衡而非纯技术判断 普通读书笔记卡

16 13|架构设计流程:详细方案设计

  1. 详细方案设计阶段的技术选型是轻量级匹配 普通读书笔记卡
  2. 避免"PPT架构师"陷阱——细节可能推翻整个方案 普通读书笔记卡

17 14|高性能数据库集群:读写分离

  1. 读写分离只解决访问压力,不解决存储压力 普通读书笔记卡
  2. 主从复制延迟的三种应对策略 普通读书笔记卡
  3. 读写分离的两种实现路径:代码封装 vs 中间件 普通读书笔记卡

18 15|高性能数据库集群:分库分表

  1. 业务分库的代价——为何小公司不该过早拆分 普通读书笔记卡
  2. 垂直分表与水平分表的区别 普通读书笔记卡
  3. 水平分表的三种路由算法及取舍 普通读书笔记卡

19 16|高性能NoSQL

  1. NoSQL 的本质是特性取舍,不是替代关系数据库 普通读书笔记卡
  2. 行存储与列存储的适用场景是对立的 普通读书笔记卡
  3. 倒排索引是全文搜索的核心解法 普通读书笔记卡

21 17|高性能缓存架构

  1. 缓存穿透——两种成因与应对 普通读书笔记卡
  2. 缓存雪崩——更新锁与后台更新两种方案 普通读书笔记卡
  3. 缓存热点——复制多份副本并错开过期时间 普通读书笔记卡

22 18|单服务器高性能模式:PPC与TPC

  1. 架构设计决定性能上限,实现细节决定下限 普通读书笔记卡
  2. PPC与TPC模式的核心权衡——进程隔离性 vs 线程轻量性 普通读书笔记卡

23 19|单服务器高性能模式:Reactor与Proactor

  1. I/O多路复用的核心思想 普通读书笔记卡
  2. Reactor三种典型实现的取舍 普通读书笔记卡
  3. Reactor与Proactor的本质区别——谁来完成I/O操作 普通读书笔记卡

24 20|高性能负载均衡:分类及架构

  1. 负载均衡不只是为了负载均衡 普通读书笔记卡
  2. 负载均衡的三层组合原则 普通读书笔记卡

25 21|高性能负载均衡:算法

  1. 负载均衡算法的核心权衡:简单与精确 普通读书笔记卡
  2. Hash负载均衡解决的是会话粘性问题 普通读书笔记卡

26 22|想成为架构师,你必须知道CAP理论

  1. CAP理论只适用于"互联且共享数据"的分布式系统 普通读书笔记卡
  2. 分布式系统必须选P,只能在CP和AP之间取舍 普通读书笔记卡
  3. 可用性要求的是"合理响应"而非"正确结果" 普通读书笔记卡

27 23|想成为架构师,你必须掌握的CAP细节

  1. CAP的决策粒度是数据而非整个系统 普通读书笔记卡
  2. CAP忽略网络延迟——某些数据只能选CA、放弃分布式写入 普通读书笔记卡
  3. 正常运行时无需在C和A间取舍,只有分区发生时才需要 普通读书笔记卡
  4. CAP的"牺牲"不等于什么都不做 普通读书笔记卡
  5. ACID与CAP的C/A同名不同义,不能类比 普通读书笔记卡
  6. BASE理论——最终一致性是AP方案的补充 普通读书笔记卡

28 24|FMEA方法,排除架构可用性隐患的利器

  1. FMEA是事后审视架构而非指导设计 普通读书笔记卡
  2. 故障模式只描述现象,不描述原因 普通读书笔记卡
  3. 风险程度 = 严重程度 × 故障概率 普通读书笔记卡
  4. 能解决就不要只规避——优先级判断 普通读书笔记卡

29 25|高可用存储架构:双机架构

  1. 高可用存储方案的分析框架 普通读书笔记卡
  2. 主备与主从的本质区别是备机是否对外提供服务 普通读书笔记卡
  3. 中介式切换把复杂度转移成了中介自身的高可用问题 普通读书笔记卡
  4. 主主复制只适合可丢失、可覆盖的数据 普通读书笔记卡

30 26|高可用存储架构:集群和分区

  1. 数据集中集群与数据分散集群的分野 普通读书笔记卡
  2. 数据分区应对的是地理级灾难,不是硬件故障 普通读书笔记卡
  3. 分区复制规则的三种模式与容灾细节 普通读书笔记卡

31 27|如何设计计算高可用架构?

  1. 计算高可用比存储高可用简单,因为无状态无需复制 普通读书笔记卡
  2. 任务分配器是逻辑角色,未必要独立存在 普通读书笔记卡
  3. 冷备与温备的取舍 普通读书笔记卡

32 28|业务高可用的保障:异地多活架构

  1. 异地多活不是所有业务都值得做 普通读书笔记卡
  2. 同城异区是应对机房级故障的最优解 普通读书笔记卡
  3. 强一致性数据无法承受跨城异地多活 普通读书笔记卡

33 特别放送|如何高效地学习开源项目

  1. 学习开源项目应自顶向下而非直接看源码 普通读书笔记卡
  2. 掌握技术优缺点才算真正掌握 普通读书笔记卡

34 29|异地多活设计4大技巧

  1. 异地多活优先保障核心业务而非全部业务 普通读书笔记卡
  2. 异地多活的数据同步只能追求最终一致性 普通读书笔记卡
  3. 不依赖单一存储同步机制,多手段组合同步数据 普通读书笔记卡
  4. 异地多活无法做到100%可用,只能忍受小概率损失 普通读书笔记卡

35 30|异地多活设计4步走

  1. 业务分级标准可能互相冲突 普通读书笔记卡
  2. 数据的可丢失性和可恢复性决定同步投入 普通读书笔记卡
  3. 消息队列同步只适合无时序要求的数据 普通读书笔记卡
  4. 多通道容错的关键是物理隔离 普通读书笔记卡

36 31|如何应对接口级的故障?

  1. 降级与熔断的本质区别 普通读书笔记卡
  2. 限流的两种视角:基于请求 vs 基于资源 普通读书笔记卡
  3. 阈值类参数只能靠压测和上线观察逐步调优 普通读书笔记卡

37 32|可扩展架构的基本思想和模式

  1. 可扩展架构的本质是"拆" 普通读书笔记卡
  2. 三种拆分维度:流程、服务、功能 普通读书笔记卡
  3. 拆分方式决定了系统未来的扩展半径 普通读书笔记卡

38 33|传统的可扩展架构模式:分层架构和SOA

  1. 分层架构支撑扩展的关键是稳定接口,而非简单分层 普通读书笔记卡
  2. 分层架构用冗余换取复杂度可控 普通读书笔记卡
  3. SOA的ESB本质是应对历史遗留异构系统的无奈妥协 普通读书笔记卡

39 34|深入理解微服务架构:银弹or焦油坑?

  1. 微服务与SOA的本质区别不在有没有ESB而在设计理念 普通读书笔记卡
  2. 微服务把系统内复杂度转移为系统间复杂度 普通读书笔记卡
  3. 微服务的调用链越长,性能损耗和故障定位成本越高 普通读书笔记卡
  4. 微服务的"轻量"承诺依赖成熟的自动化基础设施 普通读书笔记卡

40 35|微服务架构最佳实践-方法篇

  1. 微服务粒度应由团队规模决定——三个火枪手原则 普通读书笔记卡
  2. 微服务拆分方式可以按业务、稳定性、可靠性、性能自由组合 普通读书笔记卡
  3. 微服务真正的代价是把ESB拆散成了基础设施 普通读书笔记卡

41 36|微服务架构最佳实践-基础设施篇

  1. 服务发现的自理式与代理式两种权衡 普通读书笔记卡
  2. 服务监控与服务跟踪解决的是宏观和微观两个不同问题 普通读书笔记卡
  3. 统一接口协议还不够,必须统一数据格式 普通读书笔记卡

42 37|微内核架构详解

  1. 微内核架构的核心思想——把变化封装进插件 普通读书笔记卡
  2. 微内核的三个设计关键点 普通读书笔记卡
  3. 规则引擎是把业务逻辑从代码转移到可配置数据 普通读书笔记卡

43 38|架构师应该如何判断技术演进的方向?

  1. 技术选型的三个常见误判 普通读书笔记卡
  2. 技术演进由业务复杂度变化驱动 普通读书笔记卡

44 39|互联网技术演进的模式

  1. 互联网业务技术演进的四个阶段 普通读书笔记卡
  2. 优化派与架构派之争,通常优化派先赢 普通读书笔记卡
  3. 用户规模的量变会带来技术复杂度的质变 普通读书笔记卡

50 45|架构重构内功心法第一式:有的放矢

  1. 架构重构的判断标准——有的放矢 普通读书笔记卡
  2. 架构重构比新设计架构更难的原因 普通读书笔记卡

51 46|架构重构内功心法第二式:合纵连横

  1. 跟非技术人员沟通重构,要把术语换成数据事实 普通读书笔记卡
  2. 跨团队推动重构靠换位思考而非道德绑架 普通读书笔记卡

52 47|架构重构内功心法第三式:运筹帷幄

  1. 分段实施是大型重构落地的关键策略 普通读书笔记卡
  2. 重构应先易后难而非擒贼先擒王 普通读书笔记卡

53 48|再谈开源项目:如何选择、使用以及二次开发?

  1. 选开源项目要看是否满足业务而非是否够优秀 普通读书笔记卡
  2. 选开源项目要优先看成熟度而非新特性 普通读书笔记卡
  3. 使用开源项目要经历研究-灰度-留后路三步 普通读书笔记卡
  4. 开源项目二次开发的原则——改外围而非改内核 普通读书笔记卡

54 49|谈谈App架构的演进

  1. App架构演进是复杂度主导因素轮转的结果 普通读书笔记卡
  2. 组件化容器化是可扩展性复杂度到临界规模才需要的架构 普通读书笔记卡

56 特别放送|架构师成长之路

  1. 架构师的三种内功——判断力、执行力、创新力 普通读书笔记卡
  2. 内功的来源——经验、视野、思考三者缺一不可 普通读书笔记卡
  3. 从工程师到架构师的六个阶段,每阶段成长重点不同 普通读书笔记卡
  4. 创造性架构诞生的四个背景条件 普通读书笔记卡

57 结束语|坚持,成就你的技术梦想

  1. 输出是最好的学习方法 普通读书笔记卡
  2. 技术成长本质上是投入时间的复利 普通读书笔记卡
  3. 技术成长的关键瓶颈是时间投入而非知识本身 普通读书笔记卡

相关主题

暂无公开主题。