万本电子书0元读

万本电子书0元读

顶部广告

性能之道:分布式系统全栈性能优化电子书

性能的重要性越来越高,但是要想真正实现高性能,必须具有架构思维,从多个层面行设计和优化。 在AI时代,具有性能 架构这种综合性能力的技术人将成为企业中的高薪者。 本书以方法论为基础,站在架构层面,以网络、通信、客户端、单服务器、数据库为优化方向,深解读软件全栈优化解决方案,内含4大主流产品优化案例。可以帮助你成为企业中的高端人才。

售       价:¥

纸质售价:¥81.70购买纸书

2人正在读 | 0人评论 6.5

作       者:于君泽,曹洪伟,李伟山,秦金卫,陈龙泉

出  版  社:机械工业出版社

出版时间:2024-12-13

字       数:25.8万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
这是一本从、线、面、体4个维度深度解读分布式系统性能优化方法的专业工具书,更是一套全栈性能优化解决方案。其中,“”指的是代码中的单个语句或函数,“线”指的是代码中的执行路径,“面”则上升到模块、子系统级别,“体”则指的是整个系统。4个维度对应4个不同的优化层次,只有这4个维度配合,才可以真正实现分布式系统的整体性优化。 全书融合了5位长期(最长有近30年工作经验)从事软件发及优化工作的一线专家的实践经验和深刻理解,不仅从理论层面深解读了性能优化的本质,还从软件发整体流程的角度构建性能优化体系和评估策略。全书本着“没有jue对的好设计,只有适合的设计”的理念展介绍,不仅提供可落地的技巧,还直指本质,让读者知其然并知其所以然,从而设计出适合自己的性能优化方案。 本书共分为17章。 第1~4章 主要介绍作者对性能优化的理解以及性能优化体系及评测方法,这部分的目的是帮读者形成性能优化方法论,其中包括架构的本质、性能优化的本质、性能优化策略、性能优化4个维度、影响性能的因素、性能测试工具、性能测试方法和流程等重内容。 第5~9章 对网络、通信、客户端、单服务实体、数据库这5个性能约束特行深度剖析,并给出具体的优化方法与策略。 第10章和第11章分别对缓存系统、消息队列在性能优化中的应用行解读,这两个是实现高性能的途径,也是研发人员必须掌握的技巧。 第12~15章通过对智能音箱、网上商城、营销红包、交易系统4个典型案例性能设计与优化的全面解读,帮读者学以致用,并更深刻理解性能优化的原理。 第16章和第17章分别介绍全路观测或压测的具体实现方法与应用场景,以及云原生技术对性能的影响。<br/>【推荐语】<br/>性能的重要性越来越高,但是要想真正实现高性能,必须具有架构思维,从多个层面行设计和优化。 在AI时代,具有性能 架构这种综合性能力的技术人将成为企业中的高薪者。 本书以方法论为基础,站在架构层面,以网络、通信、客户端、单服务器、数据库为优化方向,深解读软件全栈优化解决方案,内含4大主流产品优化案例。可以帮助你成为企业中的高端人才。<br/>【作者】<br/>于君泽 某大型互联网公司前资深技术专家,在营销、支付、财务等业务中台方面有丰富的经验。畅销书《深分布式缓存》 《程序员的三门课》联合作者,《持续架构实践》联合译者,公众号“技术琐话”主理人,独立咨询顾问。培训和咨询内容包括数字化转型、业务中台、持续架构实践、内建质量、异地团队搭建与发展等。 曹洪伟 百度DuerOS原首席布道师,渡鸦原CTO,近30年产研经验,曾就职于美国高通等世界500强企业。创业项目有Mobile SFA、O2O应用商店和大学生发现式移动社交等。作为全栈工匠,对嵌式系统runtime和应用框架有深刻理解,对驱动、OS、框架、App、前端、后台、分布式系统、数据库、大数据平台、AI应用等均有涉足,对系统高并发、稳定性、性能有体系性见解。目前任诺谛智能的首席架构师,从事AI应用赋能及智能硬件的研发工作,工作之余维护公众号及CSDN博客:wireless_com。 李伟山 某知名人工智能公司前CTO,在数字化、人工智能、电商和金融等领域积累了丰富的平台架构设计经验,擅长组建产品研发团队、塑造部门文化、提升团队效能、造学习型技术团队。具备丰富的项目管理经验,精通IPD和敏捷发流程管理。 秦金卫(网名kimmking) Apache Dubbo、ShardingSphere PMC,某集团前高级总监,某商业银行研发中心前负责人。关注互联网、电商、金融、支付、区块等领域,有近20年研发管理和架构经验。《微服务架构实战》 《JVM核心技术32讲》作者之一。近3年参与2家国有大行的分布式新核心项目,主导了分布式技术平台、微服务、单元化等的设计与实现。目前作为独立顾问从事金融行业数字化转型、分布式微服务架构、单元化架构、源治理与信创、非功能体系建设等相关的咨询与培训工作。 陈龙泉 某大型互联网公司技术专家,有十多年的大型互联网项目发经验。喜欢对技术行深度思考,在性能优化、线上故障排查、系统稳定性建设等领域有丰富的实践经验。<br/>
目录展开

前折页

书名页

前言

认知篇

第1章 软件架构的时空观

1.1 软件架构的时空定义

1.2 软件架构的分类

1.2.1 体系结构上的分类

1.2.2 流程决策上的架构分类

1.3 软件架构设计的原则与模式

1.3.1 软件架构设计的原则

1.3.2 软件架构设计的模式

1.4 软件架构的常用技术栈

1.5 本章小结

第2章 软件性能的时空观

2.1 软件性能的宏观多维模型

2.1.1 系统边界

2.1.2 内部结构

2.1.3 外部效应

2.1.4 连接输入

2.1.5 本节小结

2.2 软件性能的一般含义

2.3 软件性能的时空视角

2.3.1 系统性能的时间指标

2.3.2 软件性能的空间指标

2.3.3 系统性能指标的时空关联

2.3.4 常见的软件性能指标

2.4 软件性能的描述方式与工具

2.4.1 软件性能的时间描述——时序图

2.4.2 软件性能的空间描述——组件描述直方图

2.5 软件的性能测试与监控

2.5.1 性能测试

2.5.2 监控性能拐点

2.5.3 容量规划

2.6 本章小结

第3章 软件性能优化体系

3.1 软件性能优化策略

3.1.1 控制资源需求相关因素

3.1.2 管理资源相关因素

3.2 基于“点”的性能优化

3.3 基于“线”的性能优化

3.4 基于“面”的性能优化

3.5 基于“体”的性能优化

3.5.1 第一阶段:常规优化

3.5.2 第二阶段:使用缓存与读写分离

3.5.3 第三阶段:异步化与事务

3.6 性能优化的PDCA

3.7 性能与其他非功能要素

3.8 本章小结

第4章 性能测试与评估

4.1 软件性能的度量

4.1.1 性能测试的目的及意义

4.1.2 性能测试的度量指标

4.1.3 常见基础设施性能指标

4.2 性能测试常用工具

4.2.1 性能测试场景

4.2.2 性能测试工具简介

4.2.3 性能测试工具选择

4.3 性能测试的方法、误区和流程

4.3.1 性能测试的方法

4.3.2 性能测试的误区

4.3.3 性能测试的流程

4.4 性能测试的结果分析与评估

4.4.1 施压机器的指标观测

4.4.2 软件的指标分析

4.4.3 软件的事后评估

4.5 本章小结

实践篇

第5章 网络性能

5.1 互联网的性能问题

5.1.1 规模问题

5.1.2 距离瓶颈

5.2 内容分发的方式与性能

5.2.1 集中托管

5.2.2 数据中心

5.2.3 分布式CDN

5.2.4 P2P网络

5.3 CDN的选择

5.4 应用层的网络性能优化

5.4.1 减少传输层开销

5.4.2 寻找更好的路由

5.4.3 内容预取

5.4.4 使用压缩和增量编码

5.4.5 边缘组装

5.4.6 边缘计算

5.5 计算密集型应用的性能提升——高性能网络

5.5.1 Infiniband网络与RDMA

5.5.2 RDMA的关键特性

5.5.3 RDMA的上层接口

5.5.4 RDMA的底层实现

5.5.5 RDMA的性能优势与主要应用场景

5.6 网络性能观测工具

5.6.1 网络可观测性建设

5.6.2 网络分析工具

5.7 本章小结

第6章 通信性能

6.1 面向互联网的软件

6.1.1 网络应用并非只是计算

6.1.2 计算中的通信视角

6.1.3 网络应用的通信视角

6.2 通信协议的分层设计与优化

6.2.1 通信协议的分层设计

6.2.2 通信协议的优化

6.3 软件通信中的数据组织

6.3.1 XML、JSON和Protocol Buffer

6.3.2 性能视角的数据包大小

6.4 软件通信中的复用机制

6.5 软件通信的纠错处理

6.5.1 前向纠错与重传纠错

6.5.2 重传机制

6.6 软件通信中的流量控制

6.6.1 反向压力

6.6.2 减负载

6.6.3 熔断

6.7 通信协议的优化示例:基于HTTP的性能优化

6.7.1 链路复用

6.7.2 数据压缩

6.7.3 SSL加速

6.8 本章小结

第7章 客户端性能/前端性能优化

7.1 性能优化指标

7.1.1 以用户为中心的性能指标

7.1.2 三大核心指标

7.1.3 前端性能测量工具汇总

7.2 前端系统优化

7.2.1 HTTP中的性能优化

7.2.2 代码压缩

7.2.3 JavaScript中的性能优化

7.2.4 Webpack优化

7.2.5 Vue项目性能优化

7.3 客户端系统优化

7.3.1 Flutter项目优化

7.3.2 PC端QT项目优化

7.3.3 客户端性能监控的思考

7.4 本章小结

第8章 单服务实体的性能优化

8.1 单服务实体性能问题定位的简单策略

8.1.1 度量指标

8.1.2 资源列表

8.1.3 功能模块图

8.1.4 度量方法

8.1.5 软件资源

8.1.6 性能定位的简单策略

8.2 操作系统的配置优化

8.3 代码性能的基础保障——静态分析

8.4 API的性能约定

8.4.1 面向API的性能分类

8.4.2 API的性能约定

8.5 资源池的应用

8.5.1 连接池

8.5.2 线程池

8.5.3 内存池

8.6 本章小结

第9章 数据库性能

9.1 从数据库技术发展看性能问题

9.1.1 数据库对系统性能的影响

9.1.2 数据库技术的整体发展

9.1.3 关系数据库的诸多挑战

9.1.4 NoSQL运动的百花齐放

9.1.5 分布式演进的步步为营

9.1.6 分布式数据库的风起云涌

9.2 面向分布式应用的数据库性能分析

9.2.1 制定数据库性能规划目标

9.2.2 通过压测了解数据库性能

9.2.3 分析应用数据库性能瓶颈

9.2.4 数据库性能优化一般方法

9.3 MySQL的常见优化方法

9.3.1 操作系统参数优化

9.3.2 数据库配置优化

9.3.3 数据库设计优化

9.3.4 SQL查询优化

9.3.5 SQL写入优化

9.3.6 应用连接池优化

9.4 本章小结

第10章 缓存的应用

10.1 无处不在的缓存

10.2 客户端缓存

10.2.1 页面缓存

10.2.2 浏览器缓存

10.2.3 App上的缓存

10.3 网络端缓存

10.3.1 Web代理缓存

10.3.2 边缘缓存

10.4 服务端缓存

10.4.1 平台级缓存

10.4.2 分布式缓存的应用

10.5 数据库缓存

10.5.1 数据库缓存:MySQL的查询缓存

10.5.2 检验Query Cache的合理性

10.5.3 数据库缓存:InnoDB的缓存性能

10.6 营销场景案例:优惠券(红包)发放与核销

10.7 电商案例:应用多级缓存模式支撑海量读服务

10.7.1 多级缓存介绍

10.7.2 如何缓存数据

10.8 本章小结

第11章 消息队列

11.1 消息队列概述

11.2 消息队列使用场景

11.2.1 削峰填谷

11.2.2 应用解耦

11.2.3 异步处理

11.2.4 分布式事务一致性

11.2.5 大数据分析

11.3 消息中间件的选型

11.3.1 RocketMQ

11.3.2 RabbitMQ

11.3.3 ActiveMQ

11.3.4 Kafka

11.4 本章小结

案例篇

第12章 小度音箱的性能优化

12.1 智能音箱的组成和系统架构

12.1.1 对话式AI操作系统——DuerOS

12.1.2 智能音箱的典型工作流程

12.2 小度音箱的性能分析

12.2.1 核心的性能指标

12.2.2 核心指标的度量

12.3 小度音箱系统的网络拓扑优化

12.4 小度音箱系统的应用协议优化

12.5 小度音箱系统的业务逻辑优化

12.5.1 智能音箱业务中的延时分布

12.5.2 预测预取

12.5.3 连接池的应用

12.6 小度音箱系统的缓存应用

12.7 本章小结

第13章 网上商城的性能优化

13.1 网上商城的架构与业务流程

13.1.1 核心模块

13.1.2 核心业务

13.2 商城系统的性能指标

13.3 网上商城核心模块的性能优化

13.3.1 商品管理

13.3.2 用户管理

13.3.3 购物车管理

13.3.4 订单管理

13.3.5 秒杀系统设计

13.4 本章小结

第14章 典型并发场景——营销红包的性能优化

14.1 类支付宝红包系统的业务流和挑战

14.1.1 类支付宝红包业务动作和潜在技术挑战分析

14.1.2 讨论方案:大商户红包热点问题

14.1.3 多级缓存策略

14.1.4 讨论方案:单笔支付咨询多红包问题

14.2 类微信红包系统的业务流和挑战

14.2.1 类微信红包业务动作分析

14.2.2 异步化

14.2.3 SET化:分拆资源

14.2.4 无并发写的实践

14.3 预加载和考虑备案

14.4 性能优化策略与案例的关系

14.5 本章小结

第15章 支付系统/核心交易系统的性能优化

15.1 支付系统/核心交易系统的架构特点

15.1.1 支付系统的作用

15.1.2 支付系统的架构

15.2 交易系统的链路优化

15.3 对账系统的设计

15.3.1 对账系统概述

15.3.2 对账需求分析

15.3.3 对账流程和规则设计

15.3.4 对账系统实现说明

15.4 本章小结

扩展篇

第16章 全链路性能压测

16.1 全链路性能压测的背景与价值

16.2 端到端全链路监控分析

16.2.1 APM技术

16.2.2 Apache Skywalking

16.3 线上流量复制与染色

16.3.1 流量复制

16.3.2 流量复制工具

16.3.3 流量染色

16.4 全链路压测的数据安全与隔离

16.4.1 数据隔离

16.4.2 影子库与影子表

16.4.3 ShardingSphere的影子库功能

16.5 全链路压测下相关系统的改造

16.5.1 业务系统的改造

16.5.2 消息队列的改造

16.5.3 外调服务的挡板功能

16.5.4 缓存中间件的改造

16.6 全链路压测的行业案例

16.6.1 滴滴出行的全链路压测

16.6.2 美团全链路压测自动化实践

16.6.3 饿了么全链路压测平台

16.7 本章小结

第17章 云原生技术为性能带来的机遇与变革

17.1 云原生弹性的实现原理

17.1.1 Kubernetes的资源类型

17.1.2 Kubernetes的资源管理和调度

17.1.3 Kubernetes的资源动态调整能力

17.1.4 Kubernetes的资源碎片问题

17.2 云原生的可观测性

17.2.1 可观测性与传统监控的区别

17.2.2 可观测性的维度

17.3 云原生要解决的性能问题、带来的挑战及应对

17.3.1 云原生解决了哪些性能问题

17.3.2 云原生带来了哪些新的挑战

17.3.3 如何应对云原生带来的挑战

17.4 本章小结

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部