技术架构 · 完整知识目录
唯一一把尺子 (每章都能回答 “属于哪一层、哪一维”):
需求 → 技术 → 组织 → 附录
- 需求 = 架构的输入 (要什么、有什么约束)
- 技术 = 严格六层 L0–L5 (底座)+ 应用层 (领域应用)
- 组织 = 架构与人的关系
- 附录 = 方法、案例、参考 (不是知识域,是练习与查证材料)
边界:覆盖 “一个要对公司技术架构负责的人” 所需知识。 不含:具体语言语法细节、算法竞赛、纯学术论文、产品经理职责。
全书 11 篇 · 83 章 · 528 节。
第一篇 · 需求 (架构的输入)
第 1 章 需求工程
1.1 功能性需求与非功能性需求
1.2 用户故事与用例
1.3 需求优先级 (MoSCoW / Kano)
1.4 需求变更管理
1.5 需求到技术的翻译
第 2 章 业务建模与领域分析
2.1 业务能力地图
2.2 业务流程建模 (BPMN)
2.3 价值链与核心域识别
2.4 从业务模型到系统边界
第 3 章 行业合规与外部约束
3.1 等级保护与网络安全法
3.2 个人信息保护与 GDPR
3.3 数据出境与数据主权
3.4 行业规范 (金融 / 医疗 / 电商等)
3.5 审计与取证
第 4 章 技术决策与 ROI
4.1 技术投入的收益模型
4.2 成本-收益分析
4.3 技术选型的评估维度
4.4 Make / Buy / Reuse 决策
4.5 技术雷达与新技术跟踪
4.6 决策框架与决策记录
4.7 技术风险与止损
4.8 外包与供应商评估
第二篇 · 技术 · L0 运行时底座
这一层回答 “跑在哪”。
第 5 章 云计算基础
5.1 服务模型:IaaS / PaaS / FaaS
5.2 部署模型:公有 / 私有 / 混合
5.3 地域与可用区
5.4 弹性伸缩与自动扩缩容
5.5 托管服务与自建的取舍
5.6 云成本结构
5.7 云厂商锁定与迁移
第 6 章 容器技术
6.1 容器与虚拟机的本质差异
6.2 镜像与分层、写时复制
6.3 namespace (隔离) 与 cgroups (限制)
6.4 Dockerfile 与构建优化
6.5 容器运行时 (containerd / runc)
6.6 镜像安全与扫描
6.7 容器存储与网络
第 7 章 容器编排
7.1 声明式 API 与控制器模式
7.2 K8s 对象模型 (Pod / ReplicaSet / Deployment / StatefulSet / DaemonSet / Job)
7.3 Service 与 Ingress
7.4 配置与密钥 (ConfigMap / Secret)
7.5 调度与亲和性
7.6 自愈、滚动更新与回滚
7.7 存储卷与持久化
7.8 网络模型 (CNI / NetworkPolicy)
7.9 资源限制与 QoS
7.10 Operator 与 CRD
7.11 包管理与 Helm
7.12 何时不该用 K8s
第 8 章 网络
8.1 TCP/IP 与三次握手
8.2 拥塞控制、Nagle 与延迟
8.3 连接复用与 TIME_WAIT
8.4 DNS 解析链路与缓存
8.5 HTTP/1.1、HTTP/2、HTTP/3 (QUIC)
8.6 TLS 握手、证书与 mTLS
8.7 VPC、子网、安全组
8.8 NAT 与端口映射
8.9 四层与七层负载均衡
8.10 反向代理与转发策略
8.11 长连接与 WebSocket
8.12 代理链、跨域与重定向
第 9 章 CDN 与边缘
9.0 CDN 全景:它到底是什么
9.1 边缘缓存原理
9.2 回源策略与回源率
9.3 缓存键设计
9.4 预热、刷新与失效
9.5 动态加速
9.6 边缘计算模型
第 10 章 存储基础设施
10.1 块存储 / 文件存储 / 对象存储
10.2 对象存储语义 (S3 API、一致性、版本、生命周期)
10.3 云盘性能模型 (IOPS / 吞吐 / 时延)
10.4 快照与备份
10.5 分布式文件系统 (GFS / HDFS 架构)
10.6 元数据管理与副本放置
10.7 纠删码与副本的取舍
10.8 对象存储系统设计
10.9 存储选型
第 11 章 操作系统与内核基础
11.1 进程、线程与调度
11.2 内存管理与虚拟内存
11.3 文件系统与 IO 模型 (阻塞 / 非阻塞 / 异步)
11.4 epoll 与 IO 多路复用
11.5 零拷贝
11.6 CPU Cache 与 NUMA
11.7 eBPF 与内核态观测
11.8 单机高性能模式 (PPC / TPC / Reactor / Proactor)
第 12 章 集群资源调度
12.1 资源调度的目标与抽象
12.2 单体调度 (Borg)
12.3 两层调度 (Mesos)
12.4 共享状态调度 (Omega)
12.5 公平调度算法 (MMF / DRF)
12.6 抢占、优先级与排队
第 13 章 基础设施安全
13.1 WAF
13.2 DDoS 防护
13.3 网络隔离与最小暴露面
13.4 密钥与凭证管理
13.5 系统基线加固
第 14 章 环境与基础设施即代码
14.1 多环境隔离 (dev / staging / prod)
14.2 Terraform 与声明式基础设施
14.3 配置管理与漂移检测
第 15 章 语言运行时 (Go 专项)
15.1 GMP 调度模型
15.2 goroutine 与栈管理
15.3 内存分配与逃逸分析
15.4 GC 原理与调优 (GOGC / GOMEMLIMIT)
15.5 pprof (CPU / 内存 / 阻塞 / 互斥)
15.6 并发原语 (channel / context / sync)
15.7 竞态检测与数据竞争
15.8 并发编程模型 (线程 / 协程 / Actor / CSP)
15.9 性能剖析工具链 (火焰图 / perf / eBPF)
第三篇 · 技术 · L1 分布式原理
这一层回答 “什么做不到”。它是物理定律,不可选只能遵守。
第 16 章 一致性模型
16.1 严格一致性
16.2 线性一致性
16.3 顺序一致性
16.4 因果一致性
16.5 最终一致性
16.6 会话保证 (读己之写、单调读、单调写)
16.7 一致性模型谱系图
第 17 章 CAP 与 PACELC
17.1 CAP 的由来与准确表述
17.2 为什么 “三选二” 是错的
17.3 分区期间的取舍
17.4 PACELC:无分区时的延迟-一致性权衡
17.5 BASE 与柔性事务
17.6 CAP 之后的补充理论
第 18 章 数据复制
18.1 复制模型:单主 / 多主 / 无主
18.2 同步、半同步、异步
18.3 复制日志 (语句 / 行 / 逻辑)
18.4 复制延迟与读一致性
18.5 故障检测与切换
18.6 脑裂与防护
18.7 复制拓扑 (链式 / 树形 / 环)
18.8 复制与事务日志的关系
第 19 章 数据分区
19.1 分区键设计
19.2 哈希分区
19.3 范围分区
19.4 一致性哈希
19.5 虚拟节点
19.6 有界负载一致性哈希
19.7 再平衡与数据迁移
19.8 热点与数据倾斜
19.9 二级索引与分区
第 20 章 分布式互斥
20.1 互斥问题与临界资源 (安全性 / 活性)
20.2 集中式互斥 (协调者)
20.3 分布式互斥 (Ricart-Agrawala / 全票通过)
20.4 令牌环互斥
20.5 三种算法对比 (消息量 / 公平性 / 可用性)
第 21 章 共识与选主
21.1 共识问题定义
21.2 Quorum 与 W + R > N 的证明
21.3 Basic Paxos
21.4 Multi-Paxos
21.5 Raft:选主
21.6 Raft:日志复制
21.7 Raft:安全性证明
21.8 Raft:成员变更与快照
21.9 ZAB
21.10 Bully 与多数派选主
21.11 领导者租约
21.12 共识算法对比
第 22 章 故障模型与理论边界
22.1 故障类型 (崩溃 / 遗漏 / 时序 / 拜占庭)
22.2 FLP 不可能性
22.3 故障检测器与 φ 值
22.4 部分同步模型
22.5 理论边界对工程的含义
第 23 章 时间、顺序与因果
23.1 物理时钟与漂移
23.2 NTP 与 TrueTime
23.3 Lamport 逻辑时钟
23.4 向量时钟
23.5 混合逻辑时钟 (HLC)
23.6 happened-before 关系
第 24 章 分布式事务
24.1 ACID 与本地事务
24.2 2PC 与恢复协议
24.3 3PC
24.4 TCC (空回滚 / 幂等 / 悬挂)
24.5 Saga (编排 / 协同 / 补偿)
24.6 本地消息表
24.7 事务消息 (半消息 / 回查)
24.8 最大努力通知
24.9 事务模型选型
第 25 章 并发、冲突与幂等
25.1 乐观并发与悲观并发
25.2 MVCC
25.3 冲突检测与解决策略
25.4 幂等设计与去重
25.5 分布式快照 (Chandy-Lamport)
25.6 CRDT (计数 / 集合 / 寄存器)
第四篇 · 技术 · L2 架构风格
这一层回答 “怎么组织”。是最贵的一次决策。
第 26 章 分层与依赖
26.1 分层架构
26.2 依赖倒置
26.3 整洁架构
26.4 洋葱架构
26.5 六边形架构 (端口与适配器)
26.6 模块化与包设计
第 27 章 单体与模块化
27.1 单体架构的适用性
27.2 模块化单体
27.3 模块边界与依赖规则
27.4 大泥球的形成路径
27.5 单体内部的演进
第 28 章 面向服务与集成
28.1 SOA
28.2 ESB
28.3 服务契约设计
28.4 服务编排与编制
28.5 遗留系统集成 (绞杀者 / 防腐层)
第 29 章 领域建模与边界
29.1 领域、子域、限界上下文
29.2 上下文映射 (七种关系)
29.3 聚合与事务边界
29.4 领域事件
29.5 通用语言
29.6 事件风暴工作坊
29.7 从模型到服务边界
第 30 章 微服务
30.1 微服务的定义与前提
30.2 服务粒度
30.3 分布式单体反模式
30.4 服务治理 (注册、发现、熔断、限流)
30.5 Service Mesh 与 Sidecar
30.6 服务版本与兼容
30.7 跨服务查询与数据聚合
30.8 服务路由 (条件 / 标签 / 脚本)
30.9 服务治理平台
第 31 章 事件驱动
31.1 事件、命令、消息的区别
31.2 事件驱动架构 (EDA)
31.3 编排 vs 协同
31.4 事件 Schema 演进
31.5 事件的可靠投递
第 32 章 数据模式
32.1 CQRS
32.2 物化视图
32.3 读写模型分离
32.4 事件溯源
32.5 投影与重建
32.6 共享数据库反模式
第 33 章 部署形态
33.1 单体部署
33.2 微服务部署
33.3 Serverless / FaaS
33.4 多运行时
33.5 边缘计算
33.6 BFF 与 API 组合
第五篇 · 技术 · L3 质量属性
这一层回答 “要达到什么”。七个目标互相冲突,每个都要落到数字。
第 34 章 性能
34.1 性能指标 (延迟 / 吞吐 / P99)
34.2 性能建模 (利特尔法则、排队论)
34.3 性能分析方法 (火焰图 / pprof / perf)
34.4 优化手段 (缓存 / 异步 / 批处理 / 池化 / 索引 / 并发)
34.5 性能测试与负载模型
34.6 性能反模式
34.7 多级分流 (透明多级分流)
第 35 章 可用性
35.1 可用性定义与 9 的换算
35.2 SLA / SLO / SLI / 错误预算
35.3 冗余 (主备 / 双活 / 多活)
35.4 故障检测 (心跳 / φ 值)
35.5 超时、重试与退避
35.6 熔断与降级
35.7 限流 (漏桶 / 令牌桶 / 滑动窗口 / 自适应)
35.8 故障隔离 (线程 / 进程 / 资源 / 集群)
35.9 自动切换与故障恢复
35.10 FMEA (故障模式与影响分析)
第 36 章 灾备
36.1 RTO / RPO
36.2 备份策略 (全量 / 增量 / 差异)
36.3 冷备 / 温备 / 热备
36.4 两地三中心与多活
36.5 单元化 / Set 化架构
36.6 切换时的数据一致性
36.7 演练与验证
第 37 章 扩展性
37.1 垂直扩展与水平扩展
37.2 无状态化
37.3 分片与分区
37.4 读写分离
37.5 加速比与阿姆达尔定律
37.6 弹性伸缩
37.7 扩展瓶颈识别
37.8 微内核与插件化
37.9 单点与拆分 (高并发的第一性原理)
第 38 章 安全
38.1 威胁建模 (STRIDE)
38.2 认证 (Session / JWT / OAuth2 / OIDC)
38.3 授权 (RBAC / ABAC / 权限模型)
38.4 加密 (对称 / 非对称 / TLS / 密钥管理)
38.5 数据分级与脱敏
38.6 常见攻击 (注入 / XSS / CSRF / SSRF / 越权 / 重放)
38.7 账号安全 (撞库 / 暴力破解 / 防盗号 / 验证码)
38.8 零信任
38.9 安全开发 (SDL / DevSecOps / SAST / DAST)
38.10 供应链安全
38.11 安全应急响应
38.12 隐私计算
第 39 章 成本
39.1 成本模型与单位经济
39.2 容量规划
39.3 存储分级
39.4 弹性与预留实例
39.5 FinOps 与账单治理
39.6 成本驱动的架构决策
第 40 章 可维护性
40.1 可测试性
40.2 耦合与内聚度量
40.3 文档与知识传递
40.4 代码可读性与一致性
40.5 变更成本
第六篇 · 技术 · L4 组件与技术
这一层回答 “用什么实现”。是可替换的战术选择。
第 41 章 缓存
41.1 缓存模式 (旁路 / 读穿 / 写穿 / 写回)
41.2 本地缓存与分布式缓存
41.3 缓存穿透 / 击穿 / 雪崩
41.4 缓存一致性策略
41.5 淘汰策略与 TTL
41.6 热点 key 与分片
41.7 多级缓存
41.8 布隆过滤器
41.9 产品 (Redis / Memcached) 与内部结构
第 42 章 远程调用
42.1 RPC 原理与 Stub
42.2 序列化与 IDL
42.3 gRPC (四种模式 / 流控 / 拦截器)
42.4 服务发现与客户端负载均衡
42.5 超时、重试与幂等
42.6 协议对比 (gRPC / Thrift / HTTP)
第 43 章 消息队列
43.1 消息模型 (点对点 / 发布订阅)
43.2 投递语义 (at-most / at-least / exactly-once)
43.3 顺序与分区
43.4 消费组与再均衡
43.5 积压与背压
43.6 可靠投递与幂等消费
43.7 延迟消息与定时消息
43.8 产品 (Kafka / RocketMQ / RabbitMQ / NATS)
第 44 章 数据库
44.1 存储引擎:B+ 树与 LSM 树
44.2 存储引擎:WAL 与崩溃恢复
44.3 存储引擎:缓冲池与页面管理
44.4 存储引擎:压缩与编码
44.5 存储引擎:读写放大与空间放大
44.6 关系模型与范式
44.7 SQL 与查询优化
44.8 索引原理 (B+ 树 / 哈希 / 覆盖索引 / 最左前缀)
44.9 执行计划与慢查询
44.10 事务与隔离级别的实现 (锁 / MVCC)
44.11 锁 (行锁 / 间隙锁 / 意向锁 / 死锁)
44.12 连接池
44.13 主从复制与读写分离
44.14 分库分表
44.15 NoSQL 四类 (KV / 文档 / 列族 / 图)
44.16 OLAP 与列式存储
44.17 时序数据库
44.18 向量数据库
44.19 分布式数据库 (Spanner / TiDB / CockroachDB)
44.20 分布式事务的实现
44.21 数据库选型方法
44.22 计数系统
44.23 未读数系统
44.24 发号器与全局 ID
第 45 章 检索与搜索引擎
45.1 倒排索引与分词
45.2 相关性排序
45.3 搜索引擎架构
45.4 产品 (Elasticsearch / Solr / OpenSearch)
45.5 地理空间检索 (GeoHash / 空间索引)
第 46 章 数据架构
46.1 数据建模
46.2 数据角色 (主数据 / 副本 / 派生数据)
46.3 数据一致性分级
46.4 CDC (变更数据捕获)
46.5 数据治理与血缘
46.6 数据生命周期
第 47 章 网关与入口
47.1 反向代理
47.2 API 网关
47.3 路由与灰度
47.4 鉴权与限流应放在哪一层
47.5 南北向与东西向流量
47.6 API 设计规范 (REST / OpenAPI / 版本策略)
47.7 开放平台与 API 生态 (OAuth 授权 / Webhook / API 计费)
第 48 章 配置与协调
48.1 配置中心
48.2 服务发现
48.3 分布式锁
48.4 Leader 选举
48.5 Watch 与通知机制
48.6 产品 (etcd / Consul / ZooKeeper / Nacos)
第 49 章 身份与访问管理 (IAM)
49.1 统一账号体系
49.2 单点登录 (SSO)
49.3 权限中心与权限矩阵
49.4 多租户权限模型
49.5 登录态与令牌生命周期
49.6 风险登录与设备指纹
第 50 章 可观测性
50.1 三支柱与成本模型
50.2 日志 (结构化 / trace_id / 分级 / 采样)
50.3 链路 (Trace / Span / 上下文传播 / 采样)
50.4 度量 (四黄金指标 / 直方图 / 基数爆炸)
50.5 告警 (分级 / 症状 vs 原因 / runbook / 降噪)
50.6 看板设计
50.7 SLO 与错误预算
50.8 持续性能剖析 (Profiling)
50.9 OpenTelemetry 标准
第七篇 · 技术 · L5 工程效能
这一层回答 “怎么持续做对”。是能力,没有完成那一天。
第 51 章 版本与协作
51.1 分支策略
51.2 代码评审
51.3 语义化版本与变更日志
51.4 单体仓库 vs 多仓库
第 52 章 持续集成
52.1 构建与缓存
52.2 静态检查
52.3 依赖与漏洞扫描
52.4 流水线设计与耗时优化
第 53 章 测试与质量保障
53.1 测试金字塔
53.2 单元测试
53.3 集成测试
53.4 端到端测试
53.5 契约测试
53.6 测试替身 (mock / stub / fake)
53.7 测试数据管理
53.8 覆盖率与质量门禁
53.9 竞态检测与并发测试
53.10 回归测试与缺陷管理
第 54 章 制品与部署
54.1 不可变制品
54.2 镜像与仓库
54.3 部署编排
54.4 环境一致性
54.5 配置注入
第 55 章 发布与回滚
55.1 发布策略 (滚动 / 蓝绿 / 金丝雀)
55.2 特性开关
55.3 回滚设计
55.4 数据库变更管理 (Expand-Contract)
55.5 向后兼容
55.6 灰度与流量染色
第 56 章 稳定性工程
56.1 混沌工程
56.2 故障演练
56.3 on-call (值班 / 升级路径 / runbook)
56.4 告警治理
56.5 事故响应
56.6 无指责复盘
第 57 章 容量与成本治理
57.1 压测方法论
57.2 容量模型
57.3 冗余系数
57.4 FinOps 实践
第 58 章 架构治理
58.1 ADR 实践
58.2 技术债管理
58.3 架构评审
58.4 演进路线图
58.5 技术选型流程
58.6 架构设计流程与三原则
58.7 重构三式 (有的放矢 / 合纵连横 / 运筹帷幄)
第 59 章 研发效能度量
59.1 DORA 四指标
59.2 交付周期与吞吐
59.3 度量的陷阱 (古德哈特定律)
59.4 效能改进方法
第八篇 · 技术 · 应用层之一:数据与智能
这一层在六层之上,是面向数据 / 智能领域的组合应用。
第 60 章 数据平台与数仓
60.1 数据平台分层
60.2 数仓分层 (ODS / DWD / DWS / ADS)
60.3 数据湖与湖仓一体
60.4 元数据管理与数据目录
60.5 数据质量
60.6 数据安全与权限
第 61 章 大数据处理
61.1 Hadoop 生态
61.2 Spark 计算模型
61.3 批处理与调度
61.4 数据倾斜与调优
第 62 章 实时计算与流处理
62.1 流处理模型与时间语义
62.2 窗口与水位线
62.3 状态管理与容错
62.4 Exactly-once 语义
62.5 Flink / Kafka Streams
62.6 实时数仓
第 63 章 推荐系统
63.1 推荐系统架构
63.2 召回 / 排序 / 重排
63.3 特征与在线服务
63.4 冷启动与实时性
63.5 推荐效果评估与 A/B
63.6 偏差、反馈回路与多样性
63.7 信息流 (推 / 拉 / 推拉结合)
第 64 章 机器学习系统 (MLOps)
64.1 特征平台
64.2 训练与推理架构
64.3 模型服务与 A/B
64.4 模型版本与回滚
64.5 分布式训练
64.6 向量检索与 RAG
64.7 Transformer 与大模型推理
64.8 Agent Harness:工具、上下文与沙箱
64.9 大模型评测与护栏
第九篇 · 技术 · 应用层之二:领域架构
这一层是具体业务领域的架构模式。
第 65 章 多租户 SaaS
65.1 租户隔离模型 (独立库 / 共享库 / 混合)
65.2 数据隔离与合规
65.3 计费与配额
65.4 定制化与版本管理
65.5 租户级灰度发布
第 66 章 即时通信与音视频
66.1 长连接网关
66.2 消息可靠投递与离线
66.3 多端同步
66.4 音视频信令与媒体传输
66.5 群聊与消息扩散
66.6 流媒体处理 (转码 / 直播推拉流)
第 67 章 交易与账务
67.1 交易流程建模
67.2 幂等与防重
67.3 对账与差异处理
67.4 复式记账与账务模型
67.5 资金安全与风控联动
67.6 秒杀与抢购 (库存 / 限购 / 防刷 / 削峰)
第 68 章 风控
68.1 风控系统架构
68.2 规则引擎
68.3 实时特征与决策
68.4 名单与画像
68.5 设备指纹
68.6 误杀与漏杀的权衡
第 69 章 物联网
69.1 设备接入与协议 (MQTT / CoAP)
69.2 设备影子与物模型
69.3 海量连接与消息
69.4 边缘计算与断网续传
69.5 固件升级 (OTA)
第 70 章 内容与社交
70.1 内容生产与审核
70.2 Feed 流架构 (推 / 拉 / 推拉结合)
70.3 关注关系与扩散
70.4 互动计数 (点赞 / 评论)
第 71 章 地理位置服务
71.1 地理编码与坐标系统
71.2 GeoHash 与空间索引
71.3 附近的人与距离计算
71.4 轨迹存储与查询
第 72 章 国际化与多地域
72.1 多语言与本地化
72.2 多时区处理
72.3 多币种与汇率
72.4 多地域部署与就近接入
72.5 跨地域读写与一致性
第 73 章 前端与客户端架构
73.1 前端架构 (SPA / SSR / 微前端)
73.2 移动端架构
73.3 跨端方案
73.4 前后端契约与协作
73.5 前端发布与灰度
第十篇 · 组织
这一层回答 “架构与人的关系”。架构最终会长成组织的形状。
第 74 章 康威定律与团队拓扑
74.1 康威定律及其逆定律
74.2 四种团队类型 (流对齐 / 平台 / 赋能 / 复杂子系统)
74.3 团队边界与架构边界的对齐
74.4 认知负荷与团队规模
第 75 章 技术组织设计
75.1 组织形态 (职能型 / 项目型 / 矩阵 / 部落)
75.2 平台团队与中台
75.3 技术委员会与决策机制
75.4 跨团队协作与接口人
第 76 章 技术领导力
76.1 技术决策的推动
76.2 与技术团队沟通
76.3 与非技术方沟通
76.4 冲突处理与共识建立
76.5 技术愿景与路线沟通
第 77 章 招聘与技术评估
77.1 技术岗位的能力模型
77.2 面试设计与提问法
77.3 如何判断架构能力
77.4 团队能力与技术的匹配
第 78 章 技术文化与知识管理
78.1 工程文化 (质量、复盘、透明)
78.2 知识沉淀与文档体系
78.3 技术分享与成长机制
78.4 新人上手路径
第十一篇 · 附录
**以下不是知识域,是练习与查证材料。**放在末尾,不参与知识分类。