
分布式系统性能优化:方法与实践
作品简介
这是一本系统化解决分布式系统性能瓶颈的实战指南,它以“多、快、好、省”的性能指标体系为核心,提供了从架构设计、网络通信、缓存、事务到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时代的性能高地。
张程,资深研发工程师、架构师,在分布式系统架构领域有丰富的实战经验,擅长高并发、高可用系统的架构设计与调优,以及分布式系统的性能调优。
曾就职于格瓦拉电影和优速科技,任职期间参与过多个大型银行系统、购票系统、物流订单系统的架构设计和研发工作。也参与过分布式Job调度系统架构的设计和研发工作。热衷于技术探索和研发,在CSDN分享了大量关于架构设计和研发的文章,获得一致好评。
王梓晨,现就职于京东物流,担任X科技部无人车高级研发总监,从0到1打造精益团队,落地了一系列行业尖端产品。多次被评为多种知名技术峰会明星讲师;多次获得中国物流与采购联合会科学技术奖、中国汽车工程学会科学技术奖,并担任中国交通运输协会物流技术装备专业委员会特聘专家、中国卫星导航定位协会北斗标准化工作委员会委员、中国快递协会智能配送专业委员会委员。
曹洪伟,原百度DuerOS首席布道师,原渡鸦科技CTO,目前从事智能物联网操作系统的研发。20多年软硬件产研经验,拥有40多项国内外专利,著有《BREW进阶与精通》,《深入分布式缓存》的作者之一,《计算机网络问题与解决方案》《区块链应用开发实战》《基于混合方法的自然语言处理》的共同译者,日常维护着公众号wireless_com和CSDN同名博客。
作品目录
Preface前言
Part 1 第一部分 基础理论
Chapter 1 第1章 分布式系统及其性能评估
1.1 了解分布式系统
1.2 分布式系统的质量属性
1.3 分布式系统的性能指标体系
1.4 分布式系统的性能评估体系
1.5 示例:某银行系统的全链路压测
Chapter 2 第2章 分布式系统性能优化方法
2.1 性能优化的策略
2.2 性能优化的系统方法
2.3 性能设计中需要注意的问题——反模式
2.4 示例:面向平均响应时间的优化
Part 2 第二部分 优化方法
Chapter 3 第3章 全局时空约束:系统架构优化
3.1 常见的系统架构类型
3.2 微服务架构的设计模式
3.3 面向性能的混合云服务架构优化
3.4 面向数据架构的分布式计算优化
3.5 示例:跨境电商的云服务架构优化
Chapter 4 第4章 基础设施提速:网络优化
4.1 网络拓扑优化
4.2 带宽管理
4.3 高效路由
4.4 CDN与边缘计算
4.5 负载均衡
4.6 示例:基于BFE的大规模负载均衡优化实践
Chapter 5 第5章 流量传输技巧:通信调优
5.1 通信协议的优化
5.2 请求优化与数据压缩
5.3 连接池与复用
5.4 异步通信
5.5 消息队列
5.6 示例:在Spring Boot微服务中使用RabbitMQ
Chapter 6 第6章 性能优化利器:分布式缓存
6.1 分布式缓存的应用场景
6.2 缓存的相关策略
6.3 触发机制
6.4 缓存的数据一致性
6.5 如何提升命中率
6.6 如何考虑缓存的可用性设计
6.7 Redis调优
6.8 示例:线上预约秒杀活动示例
6.9 使用分布式缓存的一些常见问题
Chapter 7 第7章 数据一致性约束:分布式事务
7.1 事务的基本类型
7.2 分布式事务的应用场景
7.3 分布式事务的技术难点
7.4 分布式事务之消息:最大努力通知
7.5 分布式事务之消息:消息发送一致性
7.6 分布式事务之消息:事务消息
7.7 分布式事务之TCC:三阶段事务补偿
7.8 分布式事务的技术选型
7.9 示例:电商下单过程中的事务优化
Chapter 8 第8章 业务性能瓶颈:分布式锁
8.1 高并发下如何选择锁
8.2 如何合理设计分布式锁
8.3 乐观锁应用
8.4 Redis分布式锁应用
8.5 ZooKeeper分布式锁应用
8.6 高并发下的性能优化
8.7 如何考虑可用性设计
8.8 示例:直播排行榜
Chapter 9 第9章 I/O性能优化:分布式存储
9.1 分布式存储的应用场景
9.2 数据分布策略
9.3 如何考虑数据一致性
9.4 如何考虑容错性
9.5 数据备份
9.6 示例:题库系统
9.7 分布式存储中的常见问题
Part 3 第三部分 实战应用
Chapter 10 第10章 大型应用系统:在线聊天与直播系统的性能调优
10.1 示例:高并发在线聊天系统的性能调优
10.2 示例:高并发直播系统的性能调优
Chapter 11 第11章 自动驾驶系统:分布式计算的性能实战
11.1 自动驾驶系统的性能挑战
11.2 通信中间件的性能优化
11.3 通用计算的性能优化
11.4 异构计算的性能优化
11.5 分布式训练的性能优化
Chapter 12 第12章 基于大模型应用的系统优化
12.1 关于大模型
12.2 增强大模型能力的方法
12.3 为大模型引入外部知识——RAG系统及其优化
12.4 为大模型引入外部动作——Agent系统及其优化
12.5 语义缓存的应用