复杂架构设计 : 从高并发到大模型架构实战
  • 推荐0
  • 收藏0
  • 浏览4

复杂架构设计 : 从高并发到大模型架构实战

  • 书  号:9787121518133
  • 出版日期:2026-03-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:博文小编
在AI编程时代,编程范式将发生剧变,架构的重要性愈发凸显。复杂架构设计不仅是应对高并发的关键,更是重塑核心竞争力的关键。
《复杂架构设计 : 从高并发到大模型架构实战》是一本结合“住范儿”一线实战,系统梳理高并发架构演进与底层原理的技术书。作者以真实案例为线索,从电商秒杀、搜索引擎到AI大模型,逐层拆解高性能、高可用、分布式数据库三大核心板块,涵盖压力测试、容器、负载均衡、缓存、消息队列、异地多活、分布式事务等关键技术。本书中既有方法论,又有落地细节,兼顾深度与趣味。
《复杂架构设计 : 从高并发到大模型架构实战》适合初/中/高级后端开发人员、架构师及技术管理者阅读,也可用作企业内训与高校参考书
从高并发到大模型时代,用架构思维重塑核心竞争力,抢占AI编程时代的制高点。
吕文翰
现任“爱听写”合伙人、CTO,曾任“住范儿”创始成员、CTO、监事。2014年本科毕业于北京科技大学。我的开源作品可以到我的GitHub主页获取,用户名为johnlui。
一些微小的成就如下:
Laravel在中国最早的布道者之一。
Swift语言贡献者。
GitHub中国区Swift语言Star数排名第3。
GitHub中国区PHP语言Star数排名第5。

张建芳
2018年硕士毕业于北京科技大学,后一直从事智能制造、工业物联网领域的建设与研发工作。
这是一本耗时很久才完成的书。
几年前,因新冠疫情,我频繁被隔离在家。工作之余,我阅读了一篇介绍“费曼学习法”的文章,于是,为了让自己对高并发、大规模系统架构的理解更上一层楼,我开始写作“高并发的哲学原理”系列文章,这一写就是3个月,最终成文10篇,共8万多字,发布的第11天GitHub上的Star数就已过千。几个月后,我将这些文字整理发布在微信公众号上,又获得了大量读者的好评和鼓励,这进而让我萌生了将其扩充为一本纸质书的想法。
十几年前,一位院士曾在赠予我的笔记本的扉页上附言:“请把苦难当作玫瑰别在胸前,任何事,从现在开始做都不晚!”于是,我决定立刻行动,联系了电子工业出版社的付睿编辑,准备出版一本中等体量的技术图书。本来计划半年写完,结果写书的难度远超想象,最后本书花费了好几年才完成。
为什么要写本书
我2014年毕业于北京科技大学,大二时就开始与他人合伙创业,至今已经是第四次创业,仍在奋斗中。从第一次创业开始,我一直担任技术负责人的角色,各种技术难题都需要自己解决,我的知识全靠实践与自学。相信读到本书后面,你们也会发现,我的见解、观点和技术方案都充满了草莽气息,但正是这种接地气的实践经验,让我对复杂系统设计有了深刻的理解。
“高并发”是后端领域的技术圣杯,也是互联网架构领域最具挑战性的课题之一。在互联网大企业的面试中,高并发系统架构设计是必不可少的焦点话题。随着技术的飞速发展,我们已经从传统的高并发时代进入了大模型时代,AI编程正在重塑整个行业的核心竞争力。面对这样的技术剧变,架构设计的重要性愈发凸显,它不仅是应对高并发的关键,也是在AI时代保持竞争力的核心。
虽然我深知自己与头部互联网大企业的工程师相比还有差距,但我的优势在于一直身处架构设计、数据库设计、代码编写,甚至是服务器选型与配置的第一线,亲手处理过各种规模的高并发问题,对此有着深刻的体悟。我的这些经验非常有价值,尤其是在AI编程时代,架构思维能够帮助我们更好地应对复杂的技术挑战,这也是我写作本书的原因。我希望通过分享我的实践心得,帮助更多同行在复杂架构设计的道路上少走弯路,成为AI时代不可或缺的架构专家。
我的高并发问题处理经验
随着“住范儿”的发展,我依次成功解决过如下的高并发问题:
2017年,我一个人维护单体CMS系统,利用一台超低配虚拟机和一台超低配数据库顶住了每日200万次PV的压力。
2020年,我优化了一个从外面购买的单体PHP商城,在实际业务中跑出了最高1分钟GMV100万元人民币、QPS1000+的成绩。
2021年,我从头设计了一个分布式电商秒杀系统,在实际业务中跑出了最高1分钟GMV1000万元人民币、QPS10000+的成绩,生成订单的TP99时间小于200ms。
此外,我还优化过单表一亿多行数据的MySQL数据库,开源过索引了数千万页面的互联网搜索引擎,对降低各种业务类型的API延迟有非常丰富的经验。

目录

第一部分 高并发
第 1 章 高并发系统入门
1.1 什么是高并发 2
1.2 高并发系统的关键指标 3
1.3 常见高并发场景 5
1.3.1 电商秒杀与社交网络热点 5
1.3.2 金融交易 5
1.3.3 网络游戏 6
1.3.4 网络音视频与直播 6
1.4 系统架构的演变 8
1.4.1 单体架构 8
1.4.2 SOA 与分布式架构 9
1.4.3 微服务架构 11
1.4.4 无服务架构 12
1.5 如何学习本书 13
1.5.1 旧系统改造学习路径 13
1.5.2 新系统搭建学习路径 14

第 2 章 揭秘高并发架构的设计套路
2.1 思维跃迁:从用户到架构师 16
2.2 第一步:动态、静态资源分开部署 18
2.3 第二步:数据库独立部署 19
2.4 第三步:将应用、数据库、网络依次集群化 21
2.4.1 应用集群化 21
2.4.2 数据库集群化 22
2.4.3 构建高可用的网络基础设施 24
2.5 真实案例:一个 CMS 网站的性能优化之路 25
2.5.1 动态、静态资源分离与引入 Elasticsearch 25
2.5.2 数据层优化:MySQL 索引与 Redis 缓存 26
2.5.3 应用层优化与架构思考 27
2.5.4 实现基于 IP 与用户代理的多层限流策略 27

第 3 章 高并发系统案例剖析
3.1 案例 1:搜索引擎 29
3.1.1 搜索引擎架构概述 29
3.1.2 高并发挑战与架构对策 30
3.1.3 搜索引擎的优化与演进 31
3.2 案例 2:电商“双 11”秒杀——每分钟处理 100 万笔订单 31
3.2.1 接入层架构:静态资源加速与动态资源管控 32
3.2.2 应用层设计:GraphQL 的工程价值 33
3.2.3 数据层设计:数据库与缓存的协同 34
3.3 案例 3:人工智能平台——从 ChatGPT 到 DeepSeek 36
3.3.1 人工智能平台的高并发特性与挑战 37
3.3.2 DeepSeek 架构解析:从 MoE 到软硬件协同优化 37

第 4 章 如何正确地进行压力测试
4.1 压力测试的核心理念 40
4.2 压力测试的标准化流程 41
4.3 高并发系统中的压力测试 42
4.4 案例解析:某电商平台的压力测试实战 44
4.4.1 项目背景与压力测试目标 44
4.4.2 设计与执行压力测试方案 44
4.4.3 瓶颈发现与调优实践 46

第二部分 高性能
第 5 章 计算高性能
5.1 通过负载均衡实现水平扩展 48
5.2 服务器虚拟化 50
5.3 理解软件兼容性与虚拟化技术 54
5.4 详解容器技术 59
5.4.1 容器的核心隔离技术:chroot、namespaces 与 cgroups 59
5.4.2 Docker 的崛起:以应用为中心的镜像思想 62
5.5 软件定义计算:Kubernetes 65
5.5.1 天时、地利、人和:Kubernetes 的崛起之道 65
5.5.2 Kubernetes 哲学:软件定义一切 67
5.6 Spring Cloud:虚拟机时代的微服务基石 69
5.7 软件架构本质上是软件团队的组织架构 71
5.8 实战:用 Docker 部署静山平台 72
5.8.1 方法一:将所有软件都安装在一个容器内 72
5.8.2 方法二:将多个容器部署在同一个 Pod 内 76
5.8.3 方法三:通过 Ingress 和服务网格管理集群流量 79

第 6 章 CPU 资源管理:进程、线程、协程
6.1 互联网系统规模发展史 83
6.1.1 万维网的诞生与静态网页时代 83
6.1.2 Web 2.0 与海量并发的崛起 85
6.1.3 瞬时洪峰的终极挑战:春晚红包 86
6.2 主流后端语言的演变 86
6.2.1 进程模型:PHP 与阻塞 I/O 86
6.2.2 线程模型:Java 的统治与 JVM 生态 88
6.2.3 事件驱动模型:Node.js 的异步革命 91
6.2.4 协程模型:Go 语言的新纪元 92
6.2.5 其他后端技术的兴衰之路 94
6.3 实战:使用协程开发高性能爬虫 96
6.3.1 爬虫工作流程 96
6.3.2 使用协程优化爬虫性能 100
6.3.3 开源爬虫架构解析 101

第 7 章 网络高性能之一:至关重要的 Web Server 软件
7.1 Apache 的诞生与发展 103
7.2 主流 Web Server 架构性能实战对比 105
7.2.1 3 种并发模型介绍 105
7.2.2 Apache 与 Nginx 核心架构性能压力测试 106
7.2.3 epoll 与 prefork 模型对比 111
7.3 Nginx 的诞生 111
7.4 I/O 多路复用技术演进:从 select 到 epoll 112
7.4.1 epoll 的核心原理与 Nginx 协同机制 113
7.4.2 实战:Nginx 用于电商秒杀系统 117

第 8 章 网络高性能之二:负载均衡和应用网关
8.1 核心概念:负载均衡与应用网关 119
8.1.1 什么是负载均衡 119
8.1.2 什么是应用网关 119
8.1.3 应用网关的更多价值 119
8.1.4 实战:“住范儿”电商平台的真实网络架构图 121
8.2 实战起步:从单体架构到高并发网关 121
8.2.1 京东平峰期并发量估算 122
8.2.2 Kong 网关需要的硬件规模 122
8.2.3 技术选型:深入了解 Kong 网关 123
8.3 详解网络协议栈 127
8.3.1 网络分层模型与数据封装 127
8.3.2 应用层(HTTP)与传输层(TCP) 128
8.3.3 网络层(IP)与数据链路层(MAC) 130
8.4 详解负载均衡器 132
8.4.1 技术原理:负载均衡器如何工作 133
8.4.2 性能对比:为何四层负载均衡更快 135
8.4.3 最终架构:5 万 QPS 电商平台实战 136

第 9 章 网络高性能之三:超大规模负载均衡集群
9.1 软件定义网络(SDN)技术简介 137
9.2 负载均衡技术的发展史 138
9.2.1 第一代:硬件负载均衡 138
9.2.2 第二代:软件负载均衡 139
9.3 交换机技术 141
9.4 LVS 技术详解 143
9.4.1 LVS 基本原理 144
9.4.2 LVS 设计思想 146
9.4.3 OSPF/ECMP 负载均衡协议 147
9.5 基于 Keepalived 构建高可用 LVS 集群 148
9.6 突破单台服务器的带宽极限 149
9.6.1 单机性能优化:从用户态网络到锁优化 150
9.6.2 水平扩展:设计全冗余高可用集群 151
9.6.3 集群容量计算与价值分析 153
9.7 硬件厂商的用户态网络实践 153
9.8 下一个挑战:数据库 154

第 10 章 存储高性能之一:磁盘
10.1 数据库:从终极队列到性能瓶颈 155
10.2 存储技术简史 157
10.2.1 集中式存储 157
10.2.2 分布式存储 158
10.2.3 集中式存储和分布式存储的优缺点对比 158
10.3 I/O 技术展望:CXL 重塑未来 160
10.3.1 CXL 的技术基石与时代背景 160
10.3.2 CXL:下一代 I/O 技术详解 161
10.3.3 CXL 的应用场景:网卡与大模型 163

第 11 章 存储高性能之二:缓存
11.1 缓存的原理与价值 165
11.2 缓存的核心问题与读/写模型 166
11.2.1 基础读/写模型与缓存击穿 166
11.2.2 缓存雪崩问题 167
11.2.3 缓存穿透与布隆过滤器 168
11.2.4 缓存的更新、淘汰与预热策略 169
11.2.5 缓存高可用 171
11.3 缓存在架构设计中的价值 172
11.3.1 一致性与性能的权衡 172
11.3.2 分布式缓存与微服务 173
11.3.3 案例教学:Elasticsearch 的缓存设计 174
11.4 实战:电商平台缓存体系设计 175
11.4.1 设计目标与多级缓存架构 175
11.4.2 核心业务场景缓存方案 176
11.4.3 缓存更新与容灾方案 176
11.4.4 缓存的监控与治理 177

第 12 章 存储高性能之三:消息队列
12.1 秒杀架构的核心:消息队列 179
12.2 Kafka 分布式消息订阅系统详解 181
12.2.1 应用场景 181
12.2.2 核心概念与整体架构 182
12.2.3 关键机制:分区、副本与高可用 183
12.3 消息队列的架构意义 184
12.3.1 核心价值:实现异步解耦与削峰填谷 184
12.3.2 提升系统韧性:保障高可用与微服务解耦 185
12.3.3 支撑高级架构:事件驱动与多样化消息处理 185
12.3.4 总结 186
12.4 真实案例:“住范儿”电商平台的异步下单流程架构 186

第三部分 高可用
第 13 章 分布式事务:从 CAP 到 Paxos
13.1 分布式系统基础 190
13.1.1 CAP 定理简介 190
13.1.2 分布式系统的挑战 191
13.2 分布式事务的实现与权衡 192
13.2.1 常用分布式事务协议 192
13.2.2 分布式 ACID 的难点与解决方案 193
13.3 Paxos 共识算法详解 194
13.3.1 Paxos 的诞生:在 CAP 框架下寻求一致性 194
13.3.2 算法原理与执行流程 195
13.3.3 关键特性、优化与变种 197
13.3.4 应用场景与实践挑战 197

第 14 章 业务层高可用
14.1 异地多活 199
14.1.1 核心理念与挑战 199
14.1.2 关键技术:数据、流量与监控 199
14.1.3 演进趋势与成本考量 200
14.2 两地三中心 201
14.2.1 架构原理与布局 201
14.2.2 核心机制:数据同步与故障切换 202
14.2.3 实施决策:成本与云方案 203
14.3 业务层故障处理架构 204
14.3.1 故障感知:发现问题 204
14.3.2 故障隔离:排队、降级、限流与熔断 204
14.3.3 故障自愈:自动恢复 205

第 15 章 计算层高可用
15.1 主从架构 207
15.2 双主多活架构 208
15.3 冗余 210
15.3.1 冗余的原则与度量 210
15.3.2 冗余在架构设计中的应用 211
15.4 故障切换与恢复 214
15.4.1 故障发现与自动切换 214
15.4.2 数据一致性保障 215
15.4.3 恢复流程与自动化运维体系 215

第 16 章 存储层高可用
16.1 高可用存储的基本概念 217
16.2 数据复制技术 217
16.2.1 复制模型:策略、拓扑与应用 217
16.2.2 复制一致性模型与共识协议 219
16.3 数据分片 219
16.3.1 分片的设计:策略、分片键与实现 220
16.3.2 数据分片的技术挑战与对策 221
16.4 数据分区 221
16.4.1 数据分区与数据分片的区别 221
16.4.2 分区策略与优化技术 222

第四部分 分布式数据库
第 17 章 InnoDB 存储引擎核心原理剖析
17.1 InnoDB 简介 225
17.1.1 InnoDB 的发展历程 225
17.1.2 InnoDB 的技术取舍 226
17.2 B+树在 InnoDB 中的实现 227
17.2.1 什么是 B+树 227
17.2.2 InnoDB 的页组织方式:从索引页到数据页 227
17.2.3 InnoDB 中的 SQL 查询过程 230
17.3 InnoDB B+树层级增长实证分析 230
17.3.1 设计测试方案 230
17.3.2 ibd 结构探测工具 231
17.3.3 索引的起点:根页的诞生 231
17.3.4 结果分析 232
17.4 “2000 万行分表”问题 237
17.4.1 从行长计算 B+树的容量极限 237
17.4.2 B+树层级增加对性能的影响与分表必要性 238
17.4.3 应该何时分表 239
17.5 内存缓存 Buffer Pool 240
17.5.1 Buffer Pool 的 LRU 算法 241
17.5.2 Buffer Pool 的优化方法 242

第 18 章 四代分布式数据库发展史
18.1 单机数据库的极限:不可能三角 243
18.1.1 持久化、隔离与性能的权衡 243
18.1.2 MySQL 的妥协与智慧 244
18.2 突破读性能瓶颈:主从架构与读/写分离 244
18.3 第一代分布式数据库:中间件 246
18.4 第二代分布式数据库:分布式 KV 数据库 248
18.4.1 分布式时代的“新不可能三角” 248
18.4.2 分布式键值数据库放弃了事务隔离 248
18.5 第三代分布式数据库:NewSQL 249
18.5.1 Spanner 的核心技术剖析 250
18.5.2 Spanner 对 CAP 定理的取舍 251
18.6 第四代分布式数据库:云上数据库 252
18.6.1 亚马逊 Aurora 率先推出 252
18.6.2 阿里云 PolarDB 后来居上 254
18.6.3 云上数据库对 CAP 定理的取舍 256
18.7 讨论与展望 257
18.7.1 架构思想的演进:从 SharedDisk 到 SharedNothing 257
18.7.2 列存储思想 258

第 19 章 国产数据库 TiDB 与 OceanBase
19.1 TiDB 的设计思路 260
19.1.1 TiKV 261
19.1.2 TiDB 对 CAP 定理和“不可能三角”的选择 262
19.2 OceanBase 的设计思路 262
19.2.1 数据分区与并行查询 263
19.2.2 基于 LSM Tree 的存储与内存架构 263
19.2.3 OceanBase 对 CAP 定理和“不可能三角”的选择 266
19.3 两大数据库的选型结论 267

第五部分 项目实战与展望
第 20 章 全网搜索引擎实战
20.1 搜索引擎总体架构 269
20.2 全网数据采集系统 271
20.3 索引构建:从文本处理到分布式存储 274
20.3.1 文本预处理与构建倒排索引 274
20.3.2 分布式索引的构建与更新 276
20.3.3 索引优化:压缩、存储与合并 277
20.4 核心排序算法 278
20.4.1 文本相关性算法:BM25 与 VSM 278
20.4.2 链接权威性算法:PageRank 279
20.4.3 Proximity 算法与综合排序实战 280
20.5 查询处理与性能优化 282
20.5.1 搜索的分布式执行过程 282
20.5.2 高并发架构与性能优化策略 283
20.6 检验效果 285

第 21 章 电商“双 11”秒杀实战:每分钟处理 100 万笔订单
21.1 秒杀系统设计原则与架构概述 286
21.2 订单处理核心设计要点 289
21.2.1 流量管控:多层限流与防重设计 289
21.2.2 核心写流程:库存控制与分布式事务 291
21.2.3 订单异步化 292
21.3 检验效果 294
21.3.1 压力测试方案与监控体系 294
21.3.2 验证核心设计的有效性 296

第 22 章 DeepSeek 高并发架构设计实战
22.1 LLM 服务的高并发特性与核心挑战 297
22.2 DeepSeek 高并发架构设计推演 298
22.2.1 接入层与智能调度 299
22.2.2 高性能推理引擎与基础设施 299
22.2.3 系统韧性与可观测性 301
22.3 持续演进的架构 302

第 23 章 存在无限容量架构吗
23.1 系统边界:从现实世界看分区合理性 303
23.2 核心策略:基于地理位置的无限扩展 304
23.3 架构基石:局部性、最终一致性与无共享 306
23.4 结论:走向无限容量架构 308

读者评论