(1)作者背景资深,经验沉淀深厚:本书由拥有近30年软硬件研发经验的全栈技术专家曹洪伟领衔,作者团队拥有在世界500强企业、大型互联网公司和前沿AI领域的丰富经验。 (2)知识系统全面,告别“救火式”优化:系统阐述分布式系统的性能优化方法论,以“多(容量)、快(时间)、好(可用)、省(资源)”的4维性能指标体系为核心,帮助读者从根本上建立完整的性能优化知识体系,将性能优化从“临阵磨枪”转变为“体系化建设”。
售 价:¥
纸质售价:¥76.30购买纸书
6.4
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

前折页
书名页
版权
前言
第一部分 基础理论
第1章 分布式系统及其性能评估
1.1 了解分布式系统
1.1.1 分布式系统的定义
1.1.2 分布式系统涉及的基本概念
1.1.3 分布式系统的谬误
1.1.4 数据一致性与CAP理论
1.2 分布式系统的质量属性
1.3 分布式系统的性能指标体系
1.3.1 多——容量
1.3.2 快——时间
1.3.3 好——可用
1.3.4 省——资源
1.4 分布式系统的性能评估体系
1.4.1 可观测性
1.4.2 性能监控
1.4.3 面向性能指标的压力测试
1.5 示例:某银行系统的全链路压测
1.6 本章小结
第2章 分布式系统性能优化方法
2.1 性能优化的策略
2.1.1 面向单节点或部分节点集合的局部优化策略
2.1.2 面向分布式系统的全局最优策略
2.2 性能优化的系统方法
2.2.1 了解前提与环境
2.2.2 确定优化策略
2.2.3 系统架构
2.2.4 网络基础设施
2.2.5 分布式存储
2.2.6 通信
2.2.7 数据库
2.2.8 数据一致性约束:分布式事务
2.2.9 分布式锁
2.2.10 分布式缓存
2.2.11 分布式系统优化的一般思考方向
2.3 性能设计中需要注意的问题——反模式
2.3.1 项目结束时修复
2.3.2 测量和比较不当
2.3.3 算法恐惧
2.3.4 递归泛滥
2.3.5 过早进行低级优化
2.3.6 仅关注问题表象
2.3.7 线程数量过多
2.3.8 非对称利用硬件
2.3.9 无须交换缓存
2.3.10 忽略常见情况
2.4 示例:面向平均响应时间的优化
2.5 本章小结
第二部分 优化方法
第3章 全局时空约束:系统架构优化
3.1 常见的系统架构类型
3.1.1 单体架构
3.1.2 事件驱动架构
3.1.3 面向服务的架构
3.1.4 无服务器架构
3.1.5 微服务架构
3.2 微服务架构的设计模式
3.2.1 服务注册模式
3.2.2 API网关模式
3.2.3 聚合架构模式
3.2.4 事件源架构模式
3.2.5 独享数据库模式
3.2.6 命令查询责任分离模式
3.2.7 Saga模式
3.2.8 断路器模式
3.2.9 舱壁模式
3.2.10 绞杀榕模式
3.3 面向性能的混合云服务架构优化
3.3.1 混合云服务架构的一般实现步骤
3.3.2 混合云服务架构的部署模式
3.3.3 混合云服务架构的优化方法
3.4 面向数据架构的分布式计算优化
3.5 示例:跨境电商的云服务架构优化
3.6 本章小结
第4章 基础设施提速:网络优化
4.1 网络拓扑优化
4.1.1 网络拓扑的类型
4.1.2 网络拓扑的优化工具
4.1.3 网络拓扑的类型选择与优化
4.2 带宽管理
4.3 高效路由
4.4 CDN与边缘计算
4.4.1 基于CDN的客户端渲染
4.4.2 基于CDN的服务端渲染
4.4.3 基于CDN的边缘渲染
4.5 负载均衡
4.5.1 负载均衡的分类
4.5.2 软件负载均衡的常见类型
4.5.3 负载均衡算法
4.5.4 通过负载均衡提升系统性能
4.6 示例:基于BFE的大规模负载均衡优化实践
4.7 本章小结
第5章 流量传输技巧:通信调优
5.1 通信协议的优化
5.1.1 HTTP优化
5.1.2 从REST到gRPC
5.2 请求优化与数据压缩
5.2.1 CSS和JavaScript优化
5.2.2 图像优化
5.2.3 字体优化
5.2.4 HTTP通信中的“节流”
5.3 连接池与复用
5.3.1 数据库连接池的定义
5.3.2 数据库连接池的常用方式
5.3.3 数据库连接池的性能
5.3.4 常见的数据库连接池
5.4 异步通信
5.4.1 异步与同步的通信流程
5.4.2 Java中的异步通信
5.5 消息队列
5.5.1 消息队列的消息处理方式
5.5.2 使用消息队列的主要收益
5.6 示例:在Spring Boot微服务中使用RabbitMQ
5.6.1 RabbitMQ的组成
5.6.2 RabbitMQ的基本工作原理
5.6.3 RabbitMQ的应用示例
5.6.4 RabbitMQ的一些最佳实践
5.7 本章小结
第6章 性能优化利器:分布式缓存
6.1 分布式缓存的应用场景
6.1.1 页面缓存
6.1.2 应用对象缓存
6.1.3 会话状态缓存
6.2 缓存的相关策略
6.2.1 常用策略:Cache-Aside
6.2.2 缓存和数据库一致性:Read-Through
6.2.3 写缓存为主并同步:Write-Through
6.2.4 数据库为主并同步:Write-Around
6.2.5 读写缓存为主并延迟同步:Write-Back
6.3 触发机制
6.3.1 主动式触发
6.3.2 被动式触发
6.4 缓存的数据一致性
6.4.1 更新策略
6.4.2 解决方案
6.5 如何提升命中率
6.6 如何考虑缓存的可用性设计
6.6.1 服务架构设计
6.6.2 运维监控
6.7 Redis调优
6.8 示例:线上预约秒杀活动示例
6.9 使用分布式缓存的一些常见问题
6.9.1 热key问题
6.9.2 缓存穿透问题
6.9.3 缓存击穿问题
6.9.4 缓存雪崩问题
6.9.5 缓存雪崩后的备用方案
6.9.6 高并发下数据库和缓存双写数据不一致的问题
6.9.7 高并发Redis缓存中的大值存储,全量更新效率低的问题
6.9.8 高并发Redis缓存的预热方案
6.9.9 高并发Redis缓存的集中失效问题
6.9.10 Redis如何高效拆分数据
6.10 本章小结
第7章 数据一致性约束:分布式事务
7.1 事务的基本类型
7.1.1 本地事务
7.1.2 全局事务
7.1.3 分布式事务
7.2 分布式事务的应用场景
7.3 分布式事务的技术难点
7.3.1 网络问题
7.3.2 消息重复发送
7.3.3 CAP定理的选择
7.4 分布式事务之消息:最大努力通知
7.4.1 最大努力通知的示例
7.4.2 实现过程
7.5 分布式事务之消息:消息发送一致性
7.5.1 消息发送一致性的示例
7.5.2 实现过程
7.6 分布式事务之消息:事务消息
7.6.1 事务消息的示例
7.6.2 实现过程
7.7 分布式事务之TCC:三阶段事务补偿
7.7.1 事务补偿示例
7.7.2 实现过程
7.8 分布式事务的技术选型
7.9 示例:电商下单过程中的事务优化
7.10 本章小结
第8章 业务性能瓶颈:分布式锁
8.1 高并发下如何选择锁
8.2 如何合理设计分布式锁
8.2.1 互斥性
8.2.2 预防死锁
8.2.3 高性能
8.2.4 可重入性
8.3 乐观锁应用
8.4 Redis分布式锁应用
8.4.1 Redis结合Lua脚本
8.4.2 Redisson的使用
8.5 ZooKeeper分布式锁应用
8.5.1 节点及事件监听
8.5.2 基于ZooKeeper的分布式锁的实现
8.6 高并发下的性能优化
8.6.1 全局加锁
8.6.2 锁的并发性能
8.7 如何考虑可用性设计
8.7.1 强一致性
8.7.2 服务高可用
8.7.3 锁释放及续租
8.8 示例:直播排行榜
8.9 本章小结
第9章 I/O性能优化:分布式存储
9.1 分布式存储的应用场景
9.1.1 大数据视频云
9.1.2 大数据分析
9.2 数据分布策略
9.2.1 数据分片
9.2.2 副本
9.3 如何考虑数据一致性
9.4 如何考虑容错性
9.5 数据备份
9.5.1 同步复制
9.5.2 异步复制
9.5.3 半同步复制
9.6 示例:题库系统
9.7 分布式存储中的常见问题
9.7.1 分布式存储的类型及区别
9.7.2 分布式共识算法的类型及区别
9.7.3 如何保证多副本数据一致性
9.7.4 如何分散副本,避免全部损坏
9.7.5 被损坏副本和数据过期副本的检测及处理
9.8 本章小结
第三部分 实战应用
第10章 大型应用系统:在线聊天与直播系统的性能调优
10.1 示例:高并发在线聊天系统的性能调优
10.1.1 方案前期(交互细节)
10.1.2 方案中期(集成)
10.1.3 方案后期(性能调优)
10.2 示例:高并发直播系统的性能调优
10.2.1 直播示例
10.2.2 直播场景
10.2.3 直播调优
10.3 本章小结
第11章 自动驾驶系统:分布式计算的性能实战
11.1 自动驾驶系统的性能挑战
11.1.1 自动驾驶系统的核心架构与模块
11.1.2 自动驾驶系统性能优化的核心目标
11.2 通信中间件的性能优化
11.2.1 通信中间件的核心功能
11.2.2 性能瓶颈分析及优化
11.3 通用计算的性能优化
11.3.1 通用计算节点中的内存分配与管理
11.3.2 通用计算节点中的算力分配与管理
11.4 异构计算的性能优化
11.4.1 异构计算节点中的CUDA调度优化
11.4.2 异构计算节点中的FPGA计算加速
11.5 分布式训练的性能优化
11.5.1 数据并行优化
11.5.2 模型并行优化
11.5.3 分布式训练的挑战
11.6 本章小结
第12章 基于大模型应用的系统优化
12.1 关于大模型
12.2 增强大模型能力的方法
12.2.1 提示词工程
12.2.2 微调
12.2.3 强化学习
12.2.4 预训练
12.3 为大模型引入外部知识——RAG系统及其优化
12.3.1 查询变换
12.3.2 查询路由
12.3.3 分块及向量化
12.3.4 搜索与索引
12.3.5 重新排序和过滤
12.4 为大模型引入外部动作——Agent系统及其优化
12.4.1 使用异步API将LLM应用程序的速度提高70%
12.4.2 用MLflow评价Agent系统的响应
12.4.3 与Instructor一起处理输出
12.4.4 利用Presidio处理个人身份信息
12.4.5 防范提示词注入攻击
12.5 语义缓存的应用
12.5.1 缓存回顾
12.5.2 语义缓存的工作原理
12.5.3 语义缓存的实现
12.5.4 约束与增强
12.6 本章小结
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜