新書推薦:

《
盗墓:历史发现与文化考察
》
售價:NT$
1520

《
具身智能:智能出行·智慧生活·人机共生
》
售價:NT$
454

《
捍卫道德实在论(元伦理学系列)
》
售價:NT$
561

《
中西之外:华夏世界观与人类学
》
售價:NT$
398

《
匹诺曹:非存在的存在(阿甘本另类解读《木偶奇遇记》 流浪木偶匹诺曹的哲学启示)
》
售價:NT$
337

《
跨越时空的蜂鸟家族(约翰·古尔德的鸟类手绘图鉴)
》
售價:NT$
857

《
成功的法则:掌控人生的关键能力
》
售價:NT$
301

《
黄宗羲传
》
售價:NT$
347
|
| 編輯推薦: |
(1)作者背景资深,经验沉淀深厚:本书由拥有近30年软硬件研发经验的全栈技术专家曹洪伟领衔,作者团队拥有在世界500强企业、大型互联网公司和前沿AI领域的丰富经验。 (2)知识系统全面,告别“救火式”优化:系统阐述分布式系统的性能优化方法论,以“多(容量)、快(时间)、好(可用)、省(资源)”的4维性能指标体系为核心,帮助读者从根本上建立完整的性能优化知识体系,将性能优化从“临阵磨枪”转变为“体系化建设”。 (3)内容结构完整,学习路径清晰:全书分为“基础理论”、“优化方法”和“实战应用”三大核心部分。结构安排由浅入深,循序渐进,覆盖了从性能评估、架构设计到具体调优策略的完整链路,便于读者系统学习和快速掌握。 (4)实战案例丰富,工程落地性强:本书强调“理论结合实践”,在讲解每种优化方法时均配有典型实战案例,共20余个工业级案例,帮助读者将抽象原理转化为可操作的工程能力。 (5)覆盖核心技术栈,解决关键痛点:内容全面覆盖分布式系统性能优化的6大核心领域:系统架构、网络基础设施、通信协议、分布式缓存、分布式事务和分布式锁。针对性地提供了5种缓存策略、3种分布式事务解决方案、10种微服务设
|
| 內容簡介: |
这是一本系统化解决分布式系统性能瓶颈的实战指南,它以“多、快、好、省”的性能指标体系为核心,提供了从架构设计、网络通信、缓存、事务到AI大模型应用的全链路、360°的性能优化方法论与工程实践。 性能优化不是亡羊补牢,而是磨出来的工程艺术。本书正是一本帮助你将性能优化从“救火”转变为“体系化建设”的实战宝典。全书共12章,分为三大核心部分(基础理论、优化方法、实战应用),通过20余个工业级实战案例,为你提供了从理论到实践的完整性能优化知识图谱。 掌握本书内容,你将收获以下7大核心价值: (1)构建完整的性能指标体系:掌握分布式系统“多(容量)、快(时间)、好(可用)、省(资源)”的4维性能指标体系,并学会通过全链路压测、可观测性等手段,精准定位系统性能瓶颈。 (2)掌握系统架构优化策略:深入理解单体、微服务、事件驱动等5种主流架构对性能的影响,并掌握API网关、Saga、断路器等10种微服务设计模式,实现面向性能的架构选型与优化。 (3)突破网络传输瓶颈:学习网络拓扑优化、带宽管理、高效路由、CDN与边缘计算等4大基础设施提速技巧,并通过基于BFE的大规模负载均衡实践,将网络延迟降低到极 致。 (4)精通缓存与通信调优:掌握Cache-Aside、Write-Through等5种分布式缓存策略,以及热Key、缓存穿透、缓存雪崩等6大常见问题的解决方案;同时学会HTTP优化、gRPC、异步通信和消息队列等4大通信调优技巧。 (5)解决数据一致性难题:深入理解本地事务、全局事务、分布式事务等3种事务类型,并掌握事务消息、TCC等3种分布式事务解决方案,确保数据在分布式环境下的强一致性。 (6)应对高并发挑战:学习如何合理设计分布式锁,掌握Redis和ZooKeeper分布式锁的互斥性、防死锁、高性能、可重入性等4大核心要素,并通过直播排行榜等案例,解决高并发下的资源竞争问题。 (7)拥抱前沿技术优化:掌握在线聊天、高并发直播系统、自动驾驶异构计算等3个大型应用系统的性能调优实战,并深入探讨RAG、Agent系统、语义缓存等3大基于大模型应用的系统优化方法,抢占AI时代的性能高地。
|
| 關於作者: |
张程,资深分布式系统技术专家,拥有10余年技术研发与团队管理经验。在分布式系统领域具备深厚技术积累,核心专长涵盖微服务架构、高效通信交互、系统高可用与数据容错设计,并拥有丰富的AWS云平台实战经验。同时,在大数据处理与云计算相关技术栈方面也具备扎实的工程实践。 曾任职于家辉培优线上教学部,主导直播生态链路的整体架构设计,推动OMO模式一体化教育模式的落地。现就职于NTT公司,担任技术经理与架构师,专注于分布式系统架构设计及性能优化。积极参与行业技术分享,曾受邀在CSDN线下沙龙、行知数字峰会等活动中发表演讲,分享分布式系统架构与性能优化的实践经验,并著有《分布式系统架构:技术栈详解与快速进阶》一书。 王梓晨,现就职于京东物流,担任X科技部无人车高级研发总监,从0到1打造精益团队,落地了一系列行业尖端产品。多次被评为多种知名技术峰会明星讲师;多次获得中国物流与采购联合会科学技术奖、中国汽车工程学会科学技术奖,并担任中国交通运输协会物流技术装备专业委员会特聘专家、中国卫星导航定位协会北斗标准化工作委员会委员、中国快递协会智能配送专业委员会委员。 曹洪伟,精通软硬件技术的全栈技术专家,有近30年研发经验,目前担任某AI公司首席架构师,致力于企业应用的AI赋能。擅长软件系统的架构设计、性能工程及AIoT。曾就职于北方电讯、斯伦贝谢、高通等世界500强企业;也曾作为CTO/联合创始人参与多次创业,其中渡鸦科技被百度收购后,发布了第一款小度音箱。拥有50余项国内外专利,中国专利局外聘专家,腾讯云TVP。 著有《MCP极简入门》《性能之道》《一书读懂物联网》《深入分布式缓存》等著作,译著有《架构现代化》《持续架构实践》《软件架构设计》《算法工程珠玑》《基于混合方法的自然语音处理》等10余本。平时维护CSDN博客及公众号“wireless_com”。
|
| 目錄:
|
目 录 Contents
前 言
第一部分 基础理论
第1章 分布式系统及其性能评估 2
1.1 了解分布式系统 3
1.1.1 分布式系统的定义 3
1.1.2 分布式系统涉及的基本概念 3
1.1.3 分布式系统的谬误 5
1.1.4 数据一致性与CAP理论 5
1.2 分布式系统的质量属性 8
1.3 分布式系统的性能指标体系 9
1.3.1 多—容量 9
1.3.2 快—时间 10
1.3.3 好—可用 10
1.3.4 省—资源 11
1.4 分布式系统的性能评估体系 12
1.4.1 可观测性 13
1.4.2 性能监控 14
1.4.3 面向性能指标的压力测试 16
1.5 示例:某银行系统的全链路压测 17
1.6 本章小结 20
第2章 分布式系统性能优化方法 21
2.1 性能优化的策略 21
2.1.1 面向单节点或部分节点集合的 局部优化策略 22
2.1.2 面向分布式系统的全局最优 策略 23
2.2 性能优化的系统方法 23
2.2.1 了解前提与环境 24
2.2.2 确定优化策略 25
2.2.3 系统架构 25
2.2.4 网络基础设施 25
2.2.5 分布式存储 26
2.2.6 通信 26
2.2.7 数据库 28
2.2.8 数据一致性约束:分布式 事务 29
2.2.9 分布式锁 29
2.2.10 分布式缓存 30
2.2.11 分布式系统优化的一般思考 方向 31
2.3 性能设计中需要注意的问题— 反模式 32
2.3.1 项目结束时修复 33
2.3.2 测量和比较不当 33
2.3.3 算法恐惧 33
2.3.4 递归泛滥 34
2.3.5 过早进行低级优化 34
2.3.6 仅关注问题表象 34
2.3.7 线程数量过多 34
2.3.8 非对称利用硬件 35
2.3.9 无须交换缓存 35
2.3.10 忽略常见情况 36
2.4 示例:面向平均响应时间的优化 36
2.5 本章小结 37
第二部分 优化方法
第3章 全局时空约束:系统架构 优化 40
3.1 常见的系统架构类型 40
3.1.1 单体架构 41
3.1.2 事件驱动架构 41
3.1.3 面向服务的架构 41
3.1.4 无服务器架构 41
3.1.5 微服务架构 42
3.2 微服务架构的设计模式 43
3.2.1 服务注册模式 44
3.2.2 API网关模式 44
3.2.3 聚合架构模式 45
3.2.4 事件源架构模式 46
3.2.5 独享数据库模式 47
3.2.6 命令查询责任分离模式 48
3.2.7 Saga模式 49
3.2.8 断路器模式 49
3.2.9 舱壁模式 50
3.2.10 绞杀榕模式 51
3.3 面向性能的混合云服务架构优化 52
3.3.1 混合云服务架构的一般实现 步骤 52
3.3.2 混合云服务架构的部署模式 52
3.3.3 混合云服务架构的优化方法 57
3.4 面向数据架构的分布式计算优化 58
3.5 示例:跨境电商的云服务架构 优化 60
3.6 本章小结 63
第4章 基础设施提速:网络优化 64
4.1 网络拓扑优化 64
4.1.1 网络拓扑的类型 65
4.1.2 网络拓扑的优化工具 66
4.1.3 网络拓扑的类型选择与优化 67
4.2 带宽管理 68
4.3 高效路由 70
4.4 CDN与边缘计算 71
4.4.1 基于CDN的客户端渲染 71
4.4.2 基于CDN的服务端渲染 72
4.4.3 基于CDN的边缘渲染 72
4.5 负载均衡 77
4.5.1 负载均衡的分类 77
4.5.2 软件负载均衡的常见类型 78
4.5.3 负载均衡算法 80
4.5.4 通过负载均衡提升系统性能 81
4.6 示例:基于BFE的大规模负载 均衡优化实践 81
4.7 本章小结 85
第5章 流量传输技巧:通信调优 86
5.1 通信协议的优化 87
5.1.1 HTTP优化 87
5.1.2 从REST到gRPC 89
5.2 请求优化与数据压缩 92
5.2.1 CSS和JavaScript优化 92
5.2.2 图像优化 93
5.2.3 字体优化 93
5.2.4 HTTP通信中的“节流” 94
5.3 连接池与复用 94
5.3.1 数据库连接池的定义 94
5.3.2 数据库连接池的常用方式 95
5.3.3 数据库连接池的性能 96
5.3.4 常见的数据库连接池 96
5.4 异步通信 97
5.4.1 异步与同步的通信流程 97
5.4.2 Java中的异步通信 98
5.5 消息队列 104
5.5.1 消息队列的消息处理方式 104
5.5.2 使用消息队列的主要收益 115
5.6 示例:在Spring Boot微服务中 使用RabbitMQ 116
5.6.1 RabbitMQ的组成 116
5.6.2 RabbitMQ的基本工作原理 117
5.6.3 RabbitMQ的应用示例 118
5.6.4 RabbitMQ的一些最佳实践 123
5.7 本章小结 124
第6章 性能优化利器:分布式 缓存 125
6.1 分布式缓存的应用场景 126
6.1.1 页面缓存 126
6.1.2 应用对象缓存 130
6.1.3 会话状态缓存 137
6.2 缓存的相关策略 138
6.2.1 常用策略:Cache-Aside 139
6.2.2 缓存和数据库一致性: Read-Through 140
6.2.3 写缓存为主并同步: Write-Through 140
6.2.4 数据库为主并同步: Write-Around 140
6.2.5 读写缓存为主并延迟同步: Write-Back 141
6.3 触发机制 141
6.3.1 主动式触发 143
6.3.2 被动式触发 144
6.4 缓存的数据一致性 144
6.4.1 更新策略 144
6.4.2 解决方案 145
6.5 如何提升命中率 148
6.6 如何考虑缓存的可用性设计 150
6.6.1 服务架构设计 150
6.6.2 运维监控 153
6.7 Redis调优 154
6.8 示例:线上预约秒杀活动示例 154
6.9 使用分布式缓存的一些常见问题 157
6.9.1 热key问题 157
6.9.2 缓存穿透问题 157
6.9.3 缓存击穿问题 157
6.9.4 缓存雪崩问题 158
6.9.5 缓存雪崩后的备用方案 158
6.9.6 高并发下数据库和缓存双写 数据不一致的问题 159
6.9.7 高并发Redis缓存中的大值存 储,全量更新效率低的问题 159
6.9.8 高并发Redis缓存的预热方案 159
6.9.9 高并发Redis缓存的集中失效 问题 159
6.9.10 Redis如何高效拆分数据 160
6.10 本章小结 160
第7章 数据一致性约束:分布式 事务 161
7.1 事务的基本类型 162
7.1.1 本地事务 162
7.1.2 全局事务 164
7.1.3 分布式事务 166
7.2 分布式事务的应用场景 167
7.3 分布式事务的技术难点 169
7.3.1 网络问题 169
7.3.2 消息重复发送 169
7.3.3 CAP定理的选择 171
7.4 分布式事务之消息:最大努力 通知 171
7.4.1 最大努力通知的示例 173
7.4.2 实现过程 175
7.5 分布式事务之消息:消息发送 一致性 181
7.5.1 消息发送一致性的示例 182
7.5.2 实现过程 188
7.6 分布式事务之消息:事务消息 191
7.6.1 事务消息的示例 193
7.6.2 实现过程 193
7.7 分布式事务之TCC:三阶段事务 补偿 196
7.7.1 事务补偿示例 198
7.7.2 实现过程 199
7.8 分布式事务的技术选型 206
7.9 示例:电商下单过程中的事务 优化 206
7.10 本章小结 208
第8章 业务性能瓶颈:分布式锁 209
8.1 高并发下如何选择锁 210
8.2 如何合理设计分布式锁 212
8.2.1 互斥性 212
8.2.2 预防死锁 213
8.2.3 高性能 213
8.2.4 可重入性 214
8.3 乐观锁应用 214
8.4 Redis分布式锁应用 219
8.4.1 Redis结合Lua脚本 220
8.4.2 Redisson的使用 222
8.5 ZooKeeper分布式锁应用 230
8.5.1 节点及事件监听 230
8.5.2 基于ZooKeeper的分布式锁的 实现 232
8.6 高并发下的性能优化 238
8.6.1 全局加锁 238
8.6.2 锁的并发性能 239
8.7 如何考虑可用性设计 240
8.7.1 强一致性 240
8.7.2 服务高可用 240
8.7.3 锁释放及续租 241
8.8 示例:直播排行榜 241
8.9 本章小结 242
第9章 I/O性能优化:分布式 存储 243
9.1 分布式存储的应用场景 244
9.1.1 大数据视频云 244
9.1.2 大数据分析 245
9.2 数据分布策略 248
9.2.1 数据分片 248
9.2.2 副本 250
9.3 如何考虑数据一致性 251
9.4 如何考虑容错性 254
9.5 数据备份 257
9.5.1 同步复制 259
9.5.2 异步复制 260
9.5.3 半同步复制 261
9.6 示例:题库系统 261
9.7 分布式存储中的常见问题 264
9.7.1 分布式存储的类型及区别 264
9.7.2 分布式共识算法的类型及 区别 264
9.7.3 如何保证多副本数据一致性 265
9.7.4 如何分散副本,避免全部 损坏 265
9.7.5 被损坏副本和数据过期副本的 检测及处理 265
9.8 本章小结 265
第三部分 实战应用
第10章 大型应用系统:在线聊天与直 播系统的性能调优 268
10.1 示例:高并发在线聊天系统的性能 调优 269
10.1.1 方案前期(交互细节) 271
10.1.2 方案中期(集成) 273
10.1.3 方案后期(性能调优) 297
10.2 示例:高并发直播系统的性能 调优 300
10.2.1 直播示例 302
10.2.2 直播场景 305
10.2.3 直播调优 308
10.3 本章小结 314
第11章 自动驾驶系统:分布式计算 的性能实战 315
11.1 自动驾驶系统的性能挑战 315
11.1.1 自动驾驶系统的核心架构与 模块 315
11.1.2 自动驾驶系统性能优化的核心 目标 318
11.2 通信中间件的性能优化 319
11.2.1 通信中间件的核心功能 320
11.2.2 性能瓶颈分析及优化 320
11.3 通用计算的性能优化 324
11.3.1 通用计算节点中的内存分配 与管理 324
11.3.2 通用计算节点中的算力分配 与管理 331
11.4 异构计算的性能优化 340
11.4.1 异构计算节点中的CUDA 调度优化 341
11.4.2 异构计算节点中的FPGA 计算加速 355
11.5 分布式训练的性能优化 361
11.5.1 数据并行优化 362
11.5.2 模型并行优化 364
11.5.3 分布式训练的挑战 365
11.6 本章小结 366
第12章 基于大模型应用的系统 优化 368
12.1 关于大模型 369
12.2 增强大模型能力的方法 369
12.2.1 提示词工程 370
12.2.2 微调 371
12.2.3 强化学习 375
12.2.4 预训练 377
12.3 为大模型引入外部知识—RAG 系统及其优化 378
12.3.1 查询变换 380
12.3.2 查询路由 383
12.3.3 分块及向量化 385
12.3.4 搜索与索引 388
12.3.5 重新排序和过滤 391
12.4 为大模型引入外部动作— Agent系统及其优化 392
12.4.1 使用异步API将LLM应用 程序的速度提高70% 393
12.4.2 用MLflow评价Agent系统的 响应 395
12.4.3 与Instructor一起处理输出 396
12.4.4 利用Presidio处理个人身份 信息 398
12.4.5 防范提示词注入攻击 399
12.5 语义缓存的应用 399
12.5.1 缓存回顾 400
12.5.2 语义缓存的工作原理 401
12.5.3 语义缓存的实现 402
12.5.4 约束与增强 405
12.6 本章小结 406
|
| 內容試閱:
|
Preface 前 言
为何写作本书
随着互联网和信息技术的迅猛发展,分布式系统已成为支撑现代数字基础设施的核心架构,在云计算、大数据处理、人工智能、物联网等前沿领域得到广泛应用。然而,分布式系统与生俱来的复杂性使其在性能优化方面面临诸多严峻挑战:数据一致性维护需要在CAP理论的各项指标间进行权衡,网络延迟问题在跨地域部署时表现得尤为突出,节点故障的快速检测与恢复机制直接关系到系统的可用性,负载均衡策略的优劣决定了资源利用率的高低。这些挑战不仅增加了系统设计的难度,更会对系统实际运行时的性能表现产生直接影响。因此,分布式系统的性能优化成为众多企业和开发人员亟待解决的关键难题。
在近30年的软件工程实践中,我们经历了从单体架构到微服务架构的演进过程,参与了多个大型分布式系统的设计与优化工作,积累了丰富的实战经验与优化技巧。这些经验不仅包括经典的性能优化方法论,还涵盖了针对特定场景的最佳实践,如性能瓶颈的定位方法、分布式缓存一致性解决方案、微服务架构下的流量控制策略等。这些经过实际项目验证的优化方案,对软件工程师、系统架构师及技术决策者来说,具有极高的参考价值。
考虑到目前市面上关于分布式系统性能优化的专业书籍相对匮乏,且大多偏重理论阐述,缺乏实操性,我们将这些实践经验整理成书,希望为读者提供一份翔实的分布式系统性能优化指南。本书不仅注重理论知识的梳理,更注重实际示例的剖析,力求帮助读者建立完整的性能优化知识体系,避免在实践中走弯路。同时,我们也期待通过本书与业界同行展开深入交流,共同探讨分布式系统性能优化的发展趋势,分享在不同业务场景下的优化实践,推动行业最佳实践的持续演进。在云原生、边缘计算等新技术范式不断涌现的今天,分布式系统性能优化将面临更多挑战和机遇。我们希望通过本书为这一领域的技术发展贡献一份力量。
本书主要特点
为了帮助广大读者深入理解和掌握分布式系统的精髓,我们对本书的内容进行了精心编排。本书不仅涵盖了分布式系统的基础理论知识,包括系统架构、通信协议、数据一致性等关键概念,还深入探讨了分布式系统在实际应用中面临的各种挑战及对应的解决方案。
凭借多年在实际项目中积累的宝贵经验,我们将大量真实的性能问题及解决方案融入书中。这些问题涵盖了分布式系统的各个层面,从网络延迟、数据存储瓶颈到并发处理、资源调度等。本书的每个示例都详细描述了问题的背景、表现形式、分析过程以及解决方法。通过学习这些示例,读者可以更好地理解分布式系统的复杂性与动态性,提升自己在实际项目中的问题解决能力。无论你是初入分布式系统领域的新人,还是已有一定经验的工程师,都能从本书中获得宝贵的启示和指导,为自己的职业发展增添助力。
本书阅读对象
本书适合所有对分布式系统性能优化感兴趣的读者,具体包括:
● 软件工程师和开发人员。 ● 系统架构师。 ● 运维工程师。 ● 技术团队负责人和项目经理。 ● 技术专家和顾问。 ● 技术爱好者和学生。
如何阅读本书
本书共12章,分为三个部分:基础理论、优化方法和实战应用。
第一部分(第1和2章)介绍了分布式系统的相关理论,尤其是性能评估的方法,并着重阐述了分布式系统性能优化的方法。
第1章首先阐述了分布式系统的定义、基本概念、谬误、数据一致性与CAP理论等基础知识。然后,介绍了分布式系统的质量属性和性能指标体系,包括系统容量、时间、可用性和资源等方面。最后,通过某银行系统的全链路压测示例,详细阐述了性能评估体系中的可观测性、性能监控和压力测试等内容。
第2章主要介绍了性能优化的策略和系统方法。优化策略包括面向单节点或部分节点集合的局部优化策略和面向分布式系统的全局最优策略。系统方法则涉及了解前提与环境、确定优化策略、系统架构、网络基础设施、分布式存储、通信、数据库、数据一致性约束、分布式锁、分布式缓存等方面。此外,还介绍了性能设计中的常见问题,包括项目结束时修复、测量和比较不当、算法恐惧、递归泛滥、过早进行低级优化、仅关注问题表象、线程数量过多、非对称利用硬件、无须交换缓存以及忽略常见情况等内容。最后,通过面向平均响应时间的优化示例,进一步说明了性能优化的实践方法。
第二部分(第3~9章)详细阐述了分布式系统的具体性能优化方法。
第3章强调了架构类型对性能的影响,包括单体架构、事件驱动架构、面向服务的架构、无服务器架构和微服务架构等。同时,还介绍了微服务架构的设计模式,如服务注册模式、API网关模式、聚合架构模式、事件源架构模式、独享数据库模式、命令查询责任分离模式、Saga模式、断路器模式、舱壁模式和绞杀榕模式等。此外,还介绍了面向性能的混合云服务 架构优化和面向数据架构的分布式计算优化等内容。最后,通过一个跨境电商的云服务架构优化示例,详细说明了系统架构优化的方法和实践。
第4章主要介绍了网络拓扑优化、带宽管理、高效路由、CDN与边缘计算以及负载均衡等内容。网络拓扑优化包括网络拓扑的类型、优化工具和类型选择与优化等方面。CDN与边缘计算包括基于CDN的客户端渲染、服务端渲染和边缘渲染等。负载均衡包括负载均衡的分类、软件负载均衡的常见类型、负载均衡算法和通过负载均衡提升系统性能等方面。最后,通过基于BFE的大规模负载均衡优化实践示例,详细说明了网络优化的方法和实践。
第5章重点介绍了通信协议的优化、请求优化与数据压缩、连接池与复用、异步通信和消息队列等内容。通信协议的优化包括HTTP优化以及从REST到gRPC等多个方面。请求优化与数据压缩包括CSS和JavaScript优化、图像优化、字体优化以及HTTP通信中的“节流”等方面。连接池与复用涉及数据库连接池的定义、常用方式、性能和常见的数据库连接池等内容。最后,通过在Spring Boot微服务中使用RabbitMQ的示例,详细说明了通信调优的方法和实践。
第6章核心内容包括分布式缓存的应用场景、相关策略、触发机制、数据一致性、命中率提升、缓存可用性设计、Redis调优以及分布式缓存中的常见问题等。应用场景涵盖页面缓存、应用对象缓存和会话状态缓存等。策略制定涉及常用策略、缓存和数据库一致性、写缓存为主以及同步、数据库为主以及同步,还有读写缓存为主以及延迟同步等。触发机制包括主动式触发和被动式触发。数据一致性探讨了更新策略及解决方案。命中率提升则涉及服务架构设计与运维监控等。最后,通过线上预约秒杀活动示例,详细阐述了分布式缓存的应用与优化方法。
第7章主要介绍分布式事务的基本类型、应用场景、技术难点、分布式事务之消息、分布式事务之TCC(三阶段事务补偿)、技术选型等内容。事务包括本地事务、全局事务、分布式事务。技术难点包括网络问题、消息重复发送和CAP定理的要素权衡等方面。分布式事务之消息包括最大努力通知、消息发送一致性和事务消息等方面。最后,通过分布式事务的优 化示例,详细说明了分布式事务的优化方法和实践。
第8章介绍了高并发下如何选择锁、如何合理设计分布式锁、乐观锁应用、Redis分布式锁应用、Zookeeper分布式锁应用、高并发下的性能优化以及如何考虑可用性设计等内容。如何合理设计分布式锁包括互斥性、预防死锁、高性能和可重入性等方面。最后,通过直播排行榜示例,详细说明了分布式锁的应用和优化方法。
第9章重点介绍了分布式存储的应用场景、数据分布策略、如何考虑数据一致性、如何考虑容错性和数据备份,以及常见问题等内容。应用场景包括大数据视频云和大数据分析等方面。数据分布策略涵盖数据分片和副本等方法。数据一致性的考虑包括更新策略和解决方案等。数据备份涉及同步复制、异步复制和半同步复制等方式。最后,通过题库系统示例,详细说明了分布式存储的应用和优化方法。
第三部分(第10~12章)涵盖了在线聊天与直播系统、自动驾驶系统和基于大模型应用 的系统优化方法。
第10章主要介绍高并发在线聊天系统的性能调优和高并发直播系统的性能调优等内容。高并发在线聊天系统的性能调优包括方案前期(交互细节)、方案中期(集成)和方案后期(性能调优)等方面。高并发直播系统的性能调优包括直播示例、直播场景和直播调优等方面。
第11章详细探讨了分布式自动驾驶系统的核心架构及其性能优化策略,以及分布式系统在提升自动驾驶系统性能中的关键作用。首先介绍了自动驾驶系统的性能挑战,然后从通信中间件、通用计算、异构计算和分布式训练等多个维度给出具体的优化策略,使自动驾驶系统在安全性、可靠性、实时性和模型的高效迭代能力等方面实现了显著提升。
第12章针对人工智能系统的性能优化进行了说明,主要介绍了增强大模型能力的方法、为大模型引入外部知识(即RAG系统)及其优化、为大模型引入外部动作(即Agent系统)及其优化,以及语义缓存的应用等内容。为大模型引入外部知识包括语义路由等方面;为大模型引入外部动作包括使用异步API将LLM应用程序的速度提高70%、用MLflow评价Agent系统的响应、与Instructor一起处理输出、利用Presidio处理个人身份信息和防范提示词注入攻击等方面。
本书通过系统的理论知识和丰富的实战示例,全面介绍了分布式系统性能优化的方法与实践。从基础理论到优化方法,再到实战应用,本书为读者提供了一个完整的分布式系统性能优化学习与参考框架。
致谢
在此,我们向所有在本书撰写、编辑、出版过程中给予支持和帮助的人表示最诚挚的感谢。
首先,感谢我们的家人,他们在我们撰写本书期间给予了无尽的理解、鼓励和包容。他们默默承担了大量的家务和家庭责任,让我们能够全身心地投入写作中,为我们创造了温馨、稳定的创作环境。
其次,要感谢本书的编辑和出版团队。从选题策划到编辑校对,再到排版设计,他们对本书的出版给予了极大的支持和帮助。他们专业的指导、严谨的态度和辛勤的工作,使得本书在内容质量等方面都达到了较高的水平,使本书能够以更专业、更易读的面貌呈现在读者面前。他们的敬业精神和专业素养为本书增色不少。在此还要感谢悉心校验此书的科技工作者:张瑞、徐衍学、葛华鹏、贺志勇、岳潇。为了构建扎实的理论体系,他们埋首于浩如烟海的文献,深挖场景数据并严谨论证,极大地丰富了本书的内容,使其“言之有物,持之有据”。
最后,感谢广大读者朋友对本书的关注和支持。希望本书能够对大家在分布式系统性能优化方面的学习和实践有所帮助,同时也期待收到大家宝贵的反馈和建议,以便我们在未来的修订和完善中做得更好。
随着技术的不断进步和分布式系统应用的日益广泛,我们相信分布式系统性能优化领域将迎来更多挑战和机遇。期待广大读者能够继续深入学习和探索,为推动分布式系统技术的发展和应用做出更大贡献。
|
|