来源书籍
从0开始学架构
软件架构方法论类
类别清单覆盖
尚未完成类别清单核对。
全书概览
从0开始学架构(李运华)
类别:软件架构方法论类
评级结论:经典原理(高信息浓度 × 高稳定性)
理由:
- 讲原理而非操作步骤——”架构设计三原则”不是操作手册,而是判断和取舍的思维框架(合适原则、简单原则、演化原则);”CAP理论”章节专门辨析不同资料对 C/A/P 定义的细微差异,并追溯到原始论文,属于深挖底层逻辑而非科普速览。
- 复杂度来源分析(高性能/高可用/可扩展性/低成本/安全/规模)提供了一套分析架构问题的稳定框架,不依赖具体技术栈。
- 架构重构章节讲的是”有的放矢”这类可迁移的判断方法论(如何从一堆问题里识别真正需要重构的核心问题),而非某个工具的使用说明。
- 例外:“互联网架构模板”系列(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 开篇词|照着做,你也能成为架构师!
- 架构设计与编程思维的差异 普通读书笔记卡
03 01|架构到底是指什么?
- 系统的涌现性——组成系统的三个条件 普通读书笔记卡
- 模块与组件的区分标准 普通读书笔记卡
- 框架关注规范,架构关注结构 普通读书笔记卡
04 02|架构设计的历史背景
- 软件方法论演进的共同模式 普通读书笔记卡
- 软件架构问题为何只出现在大系统里 普通读书笔记卡
05 03|架构设计的目的
- 架构设计的目的是解决复杂度问题 普通读书笔记卡
- 复制别人的架构等于复制错了问题 普通读书笔记卡
06 04|复杂度来源:高性能
- 判断新技术是否会增加系统复杂度 普通读书笔记卡
- 任务拆分为何能提升性能又有上限 普通读书笔记卡
07 05|复杂度来源:高可用
- 高性能与高可用都靠冗余,但目的不同 普通读书笔记卡
- 存储高可用的难点是应对数据不一致而非备份本身 普通读书笔记卡
- 高可用状态决策的根本矛盾(独裁/协商/民主三种模式) 普通读书笔记卡
08 06|复杂度来源:可扩展性
- 可扩展性设计的核心悖论——预测变化 普通读书笔记卡
- 应对变化的两种典型手段及其代价 普通读书笔记卡
09 07|复杂度来源:低成本、安全、规模
- 低成本与高性能高可用天然冲突 普通读书笔记卡
- 功能安全防小偷,架构安全防强盗 普通读书笔记卡
- 规模复杂度的本质是量变引起质变 普通读书笔记卡
10 08|架构设计三原则
- 合适原则——为什么照搬业界领先方案常常失败 普通读书笔记卡
- 简单原则——结构复杂度会降低可用性并拖慢定位问题 普通读书笔记卡
- 演化原则——软件架构应该像生物一样演化而非一步到位 普通读书笔记卡
11 09|架构设计原则案例
- 早期系统靠买,规模到临界点才靠重构 普通读书笔记卡
12 10|架构设计流程:识别复杂度
- 复杂度问题应优先级排序解决而非全面开花 普通读书笔记卡
- 用峰值倍数预留性能余量的实战方法 普通读书笔记卡
14 11|架构设计流程:设计备选方案
- 架构方案的本质是成熟技术的组合 普通读书笔记卡
- 备选方案设计的三个常见误区 普通读书笔记卡
- 好的备选方案应满足的三个条件 普通读书笔记卡
15 12|架构设计流程:评估和选择备选方案
- 评估备选方案:按优先级排序而非计分 普通读书笔记卡
- 容量规划的经验法则:按当前规模的2~4倍设计 普通读书笔记卡
- 技术选型是业务权衡而非纯技术判断 普通读书笔记卡
16 13|架构设计流程:详细方案设计
- 详细方案设计阶段的技术选型是轻量级匹配 普通读书笔记卡
- 避免"PPT架构师"陷阱——细节可能推翻整个方案 普通读书笔记卡
17 14|高性能数据库集群:读写分离
- 读写分离只解决访问压力,不解决存储压力 普通读书笔记卡
- 主从复制延迟的三种应对策略 普通读书笔记卡
- 读写分离的两种实现路径:代码封装 vs 中间件 普通读书笔记卡
18 15|高性能数据库集群:分库分表
- 业务分库的代价——为何小公司不该过早拆分 普通读书笔记卡
- 垂直分表与水平分表的区别 普通读书笔记卡
- 水平分表的三种路由算法及取舍 普通读书笔记卡
19 16|高性能NoSQL
- NoSQL 的本质是特性取舍,不是替代关系数据库 普通读书笔记卡
- 行存储与列存储的适用场景是对立的 普通读书笔记卡
- 倒排索引是全文搜索的核心解法 普通读书笔记卡
21 17|高性能缓存架构
- 缓存穿透——两种成因与应对 普通读书笔记卡
- 缓存雪崩——更新锁与后台更新两种方案 普通读书笔记卡
- 缓存热点——复制多份副本并错开过期时间 普通读书笔记卡
22 18|单服务器高性能模式:PPC与TPC
- 架构设计决定性能上限,实现细节决定下限 普通读书笔记卡
- PPC与TPC模式的核心权衡——进程隔离性 vs 线程轻量性 普通读书笔记卡
23 19|单服务器高性能模式:Reactor与Proactor
- I/O多路复用的核心思想 普通读书笔记卡
- Reactor三种典型实现的取舍 普通读书笔记卡
- Reactor与Proactor的本质区别——谁来完成I/O操作 普通读书笔记卡
24 20|高性能负载均衡:分类及架构
- 负载均衡不只是为了负载均衡 普通读书笔记卡
- 负载均衡的三层组合原则 普通读书笔记卡
25 21|高性能负载均衡:算法
- 负载均衡算法的核心权衡:简单与精确 普通读书笔记卡
- Hash负载均衡解决的是会话粘性问题 普通读书笔记卡
26 22|想成为架构师,你必须知道CAP理论
- CAP理论只适用于"互联且共享数据"的分布式系统 普通读书笔记卡
- 分布式系统必须选P,只能在CP和AP之间取舍 普通读书笔记卡
- 可用性要求的是"合理响应"而非"正确结果" 普通读书笔记卡
27 23|想成为架构师,你必须掌握的CAP细节
- CAP的决策粒度是数据而非整个系统 普通读书笔记卡
- CAP忽略网络延迟——某些数据只能选CA、放弃分布式写入 普通读书笔记卡
- 正常运行时无需在C和A间取舍,只有分区发生时才需要 普通读书笔记卡
- CAP的"牺牲"不等于什么都不做 普通读书笔记卡
- ACID与CAP的C/A同名不同义,不能类比 普通读书笔记卡
- BASE理论——最终一致性是AP方案的补充 普通读书笔记卡
28 24|FMEA方法,排除架构可用性隐患的利器
- FMEA是事后审视架构而非指导设计 普通读书笔记卡
- 故障模式只描述现象,不描述原因 普通读书笔记卡
- 风险程度 = 严重程度 × 故障概率 普通读书笔记卡
- 能解决就不要只规避——优先级判断 普通读书笔记卡
29 25|高可用存储架构:双机架构
- 高可用存储方案的分析框架 普通读书笔记卡
- 主备与主从的本质区别是备机是否对外提供服务 普通读书笔记卡
- 中介式切换把复杂度转移成了中介自身的高可用问题 普通读书笔记卡
- 主主复制只适合可丢失、可覆盖的数据 普通读书笔记卡
30 26|高可用存储架构:集群和分区
- 数据集中集群与数据分散集群的分野 普通读书笔记卡
- 数据分区应对的是地理级灾难,不是硬件故障 普通读书笔记卡
- 分区复制规则的三种模式与容灾细节 普通读书笔记卡
31 27|如何设计计算高可用架构?
- 计算高可用比存储高可用简单,因为无状态无需复制 普通读书笔记卡
- 任务分配器是逻辑角色,未必要独立存在 普通读书笔记卡
- 冷备与温备的取舍 普通读书笔记卡
32 28|业务高可用的保障:异地多活架构
- 异地多活不是所有业务都值得做 普通读书笔记卡
- 同城异区是应对机房级故障的最优解 普通读书笔记卡
- 强一致性数据无法承受跨城异地多活 普通读书笔记卡
33 特别放送|如何高效地学习开源项目
- 学习开源项目应自顶向下而非直接看源码 普通读书笔记卡
- 掌握技术优缺点才算真正掌握 普通读书笔记卡
34 29|异地多活设计4大技巧
- 异地多活优先保障核心业务而非全部业务 普通读书笔记卡
- 异地多活的数据同步只能追求最终一致性 普通读书笔记卡
- 不依赖单一存储同步机制,多手段组合同步数据 普通读书笔记卡
- 异地多活无法做到100%可用,只能忍受小概率损失 普通读书笔记卡
35 30|异地多活设计4步走
- 业务分级标准可能互相冲突 普通读书笔记卡
- 数据的可丢失性和可恢复性决定同步投入 普通读书笔记卡
- 消息队列同步只适合无时序要求的数据 普通读书笔记卡
- 多通道容错的关键是物理隔离 普通读书笔记卡
36 31|如何应对接口级的故障?
- 降级与熔断的本质区别 普通读书笔记卡
- 限流的两种视角:基于请求 vs 基于资源 普通读书笔记卡
- 阈值类参数只能靠压测和上线观察逐步调优 普通读书笔记卡
37 32|可扩展架构的基本思想和模式
- 可扩展架构的本质是"拆" 普通读书笔记卡
- 三种拆分维度:流程、服务、功能 普通读书笔记卡
- 拆分方式决定了系统未来的扩展半径 普通读书笔记卡
38 33|传统的可扩展架构模式:分层架构和SOA
- 分层架构支撑扩展的关键是稳定接口,而非简单分层 普通读书笔记卡
- 分层架构用冗余换取复杂度可控 普通读书笔记卡
- SOA的ESB本质是应对历史遗留异构系统的无奈妥协 普通读书笔记卡
39 34|深入理解微服务架构:银弹or焦油坑?
- 微服务与SOA的本质区别不在有没有ESB而在设计理念 普通读书笔记卡
- 微服务把系统内复杂度转移为系统间复杂度 普通读书笔记卡
- 微服务的调用链越长,性能损耗和故障定位成本越高 普通读书笔记卡
- 微服务的"轻量"承诺依赖成熟的自动化基础设施 普通读书笔记卡
40 35|微服务架构最佳实践-方法篇
- 微服务粒度应由团队规模决定——三个火枪手原则 普通读书笔记卡
- 微服务拆分方式可以按业务、稳定性、可靠性、性能自由组合 普通读书笔记卡
- 微服务真正的代价是把ESB拆散成了基础设施 普通读书笔记卡
41 36|微服务架构最佳实践-基础设施篇
- 服务发现的自理式与代理式两种权衡 普通读书笔记卡
- 服务监控与服务跟踪解决的是宏观和微观两个不同问题 普通读书笔记卡
- 统一接口协议还不够,必须统一数据格式 普通读书笔记卡
42 37|微内核架构详解
- 微内核架构的核心思想——把变化封装进插件 普通读书笔记卡
- 微内核的三个设计关键点 普通读书笔记卡
- 规则引擎是把业务逻辑从代码转移到可配置数据 普通读书笔记卡
43 38|架构师应该如何判断技术演进的方向?
- 技术选型的三个常见误判 普通读书笔记卡
- 技术演进由业务复杂度变化驱动 普通读书笔记卡
44 39|互联网技术演进的模式
- 互联网业务技术演进的四个阶段 普通读书笔记卡
- 优化派与架构派之争,通常优化派先赢 普通读书笔记卡
- 用户规模的量变会带来技术复杂度的质变 普通读书笔记卡
50 45|架构重构内功心法第一式:有的放矢
- 架构重构的判断标准——有的放矢 普通读书笔记卡
- 架构重构比新设计架构更难的原因 普通读书笔记卡
51 46|架构重构内功心法第二式:合纵连横
- 跟非技术人员沟通重构,要把术语换成数据事实 普通读书笔记卡
- 跨团队推动重构靠换位思考而非道德绑架 普通读书笔记卡
52 47|架构重构内功心法第三式:运筹帷幄
- 分段实施是大型重构落地的关键策略 普通读书笔记卡
- 重构应先易后难而非擒贼先擒王 普通读书笔记卡
53 48|再谈开源项目:如何选择、使用以及二次开发?
- 选开源项目要看是否满足业务而非是否够优秀 普通读书笔记卡
- 选开源项目要优先看成熟度而非新特性 普通读书笔记卡
- 使用开源项目要经历研究-灰度-留后路三步 普通读书笔记卡
- 开源项目二次开发的原则——改外围而非改内核 普通读书笔记卡
54 49|谈谈App架构的演进
- App架构演进是复杂度主导因素轮转的结果 普通读书笔记卡
- 组件化容器化是可扩展性复杂度到临界规模才需要的架构 普通读书笔记卡
56 特别放送|架构师成长之路
- 架构师的三种内功——判断力、执行力、创新力 普通读书笔记卡
- 内功的来源——经验、视野、思考三者缺一不可 普通读书笔记卡
- 从工程师到架构师的六个阶段,每阶段成长重点不同 普通读书笔记卡
- 创造性架构诞生的四个背景条件 普通读书笔记卡
57 结束语|坚持,成就你的技术梦想
- 输出是最好的学习方法 普通读书笔记卡
- 技术成长本质上是投入时间的复利 普通读书笔记卡
- 技术成长的关键瓶颈是时间投入而非知识本身 普通读书笔记卡
相关主题
暂无公开主题。