• 高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketM、微服务、持续集成等
  • 高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketM、微服务、持续集成等
  • 高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketM、微服务、持续集成等
  • 高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketM、微服务、持续集成等
21年品牌 40万+商家 超1.5亿件商品

高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketM、微服务、持续集成等

新华书店全新正版书籍图书 保证_可开发票_极速发货支持7天无理由

59.1 5.4折 109 全新

库存4件

浙江嘉兴
认证卖家担保交易快速发货售后保障

作者谢恩德

出版社电子工业出版社

ISBN9787121442049

出版时间2022-09

装帧平装

开本16开

定价109元

货号31567054

上书时间2024-10-15

學源图书专营店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

在写本书之前,笔者先后在几家知名互联网公司参与过多个高并发系统的底层分析、架构设计及核心框架开发,也带领团队从0到1开发了多个高并发系统。目前,笔者在一家物联网公司担任技术总监一职,负责公司整体技术方向及风险把控工作。

 

在笔者工作的十余年中,经历了单体架构、SOA架构、分布式架构、微服务架构,以及云原生架构等。在面对高并发挑战的过程中,笔者积累了很多的经验,正好借编写本书的机会对其进行梳理,形成通用的方法论和解决方案,以帮助那些正在探索过程中的朋友们。

 

-

 

1. 本书特色

 

(1)主线清晰。

 

本书以企业高并发系统的演化过程为主线,介绍了企业高并发需求由弱变强这个过程中的诸多技术解决方案,内容由易到难,这样读者即使看到了较难的知识点也不会感到很吃力,最终都能获得很丰富的高并发系统设计经验。

 

(2)语言简洁,阅读不枯燥。

 

全书尽量用一个和读者更平视的角度来讲述,如果感觉读者某个知识点基础弱一点,则会讲解得更详细一些。书中采用简洁的文字表述,摒弃难懂的辞藻和复杂的句式,同时不失技术的深度,希望给读者带来一个轻松、愉悦的学习体验。

 

(3)大量绘图,知其所以然。

 

书中对于稍微复杂的解决方案和知识点均配有插图,以便读者“不仅知其然,还知其所以然”。

 

(4)大量实战,如同身临其境。

 

本书没有止步于技术原理,还还原了很多具体的业务场景,设计了大量实战案例,让读者把所学最终都落到具体的代码实现上,真真切切地感受高并发系统的完整处理过程。

 

(5)主体是高并发,但不止于此。

 

本书除介绍如何应对各种高并发挑战外,还详细介绍了高效测试、快速交付及高效线上运维等内容。

 

-

 

2. 阅读本书,您能学到什么

 

掌握高并发系统框架层的设计;

 

掌握高并发系统技术选型;

 

掌握微服务项目的设计;

 

掌握高并发系统每个阶段的技术解决方案;

 

掌握分布式缓存的使用方法;

 

掌握海量数据的分片存储、读取;

 

掌握生产级系统分布式锁的处理;

 

掌握生产级系统分布式事务的处理;

 

掌握生产级系统消息队列的处理;

 

掌握生产级系统垂直搜索引擎的处理;

 

掌握高并发系统线上调优;

 

掌握生产级服务器资源优化;

 

掌握高并发系统线上监控;

 

掌握高并发系统快速、高质量交付。



 
 
 
 

商品简介

全书共5篇:

 

第1篇,帮助读者建立高并发系统的基本认知;

 

第2篇,通过一个生产系统的搭建全流程,介绍了企业系统在技术框架层面及上线方面需要关注的点;

 

第3篇,介绍了构建高并发系统的各项技术,包括应用集群化、缓存设计、存储系统设计、搜索引擎、消息中间件设计、微服务设计、API网关设计等;

 

第4篇,介绍了高并发系统设计原则及两个完整的高并发项目,一方面帮助读者对前面的内容进行巩固和实操,另一方面也希望给读者搭建自己的高并发系统以一定的启发;

 

第5篇,介绍了高并发系统的运维与监控。



作者简介
谢恩德合肥优恩物联网科技有限公司前后端技术负责人,在知乎和CSDN等多个网络媒体发表了几十篇前端后技术的文章。

目录
★★第1篇  高并发系统认知

★★第1章  什么是高并发系统    2
1.1  什么是高并发    2
1.2  高并发系统有哪些关键指标    3
1.2.1  响应时间(Response Time)    3
1.2.2  吞吐量(Throughput)    3
1.2.3  每秒请求数(QPS)    4
1.2.4  每秒事务数(TPS)    4
1.2.5  访问量(PV)    5
1.2.6  独立访客(UV)    5
1.2.7  网络流量    5
1.3  为什么要学习高并发系统    5
1.3.1  提升自身及企业核心竞争力    6
1.3.2  在面试中脱颖而出    6
1.4  对比单体系统、分布式系统和微服务系统    7
1.4.1  单体系统之痛    7
1.4.2  高并发系统之分布式架构    11
1.4.3  高并发系统之微服务架构    12

★★第2章  从剖析两个高并发系统开始    20
2.1  案例一:千万级流量“秒杀”系统    20
2.1.1  千万级流量“秒杀”系统架构一览    20
2.1.2  动静分离方案设计    24
2.1.3  热点数据处理    27
2.1.4  大流量的高效管控    30
2.1.5  扣减库存的那些事    34
2.1.6  搭建千万级流量“秒杀”系统需要哪些技术    39
2.2  案例二:C2C二手电商平台的社会化治理子系统    40
2.2.1  C2C二手电商平台的社会化治理子系统架构一览    40
2.2.2  基础服务治理    42
2.2.3  RPC框架服务通信    50
2.2.4  分布式事务管理    55

★★第2篇  搭建生产级系统

★★第3章  生产级系统框架设计的细节    64
3.1  幂等性设计――保证数据的一致性    64
3.1.1  什么是幂等性    64
3.1.2  如何避免重复提交    66
3.1.3  如何避免更新中的ABA问题    68
3.2  接口参数校验――增强服务健壮性    70
3.2.1  【实战】Spring结合validation进行接口参数校验    70
3.2.2  【实战】自定义参数校验注解    73
3.3  统一异常设计――跟杂乱无章的异常信息说再见    75
3.3.1  Spring Boot默认的异常处理机制    75
3.3.2  【实战】基于Spring Boot构建全局异常处理    76
3.4  统一封装Response――智能的响应数据    83
3.4.1  接口响应数据的模型    83
3.4.2  【实战】开发统一的响应数据模型,以应对不同业务    87
3.5  编写高质量的异步任务    93
3.5.1  为什么要编写异步任务    93
3.5.2  【实战】基于Spring开发高质量的异步任务    94
3.6  DTO与PO的互相转换    98
3.6.1  什么是DTO、PO    98
3.6.2  【实战】实现DTO与PO的互相转换    99
3.7  优雅的API设计――对接“清爽”,不出错    102
3.7.1  最好采用“API先行”策略    103
3.7.2  API 的设计原则    104
3.7.3  RESTful API设计的规范    106
3.8  API治理――告别“接口满天飞”    108
3.8.1  【实战】基于Swagger构建可视化的API文档    109
3.8.2  API调用链管理    112

★★第4章  快速部署上线    113
4.1  反向代理配置    113
4.1.1  什么是反向代理,为什么要使用反向代理    113
4.1.2  【实战】使用Nginx配置线上服务    116
4.2  系统性能测试    120
4.2.1  【实战】进行单元测试    120
4.2.2  【实战】用AB工具做上线前的性能测试    131

★★第5章  生产环境监测    136
5.1  服务器性能日常监测    136
5.1.1  在运维中常说的“服务器平均负载”是什么意思    136
5.1.2  为什么经常被问到“CPU上下文切换”    138
5.1.3  【实战】快速分析出CPU的性能瓶颈    141
5.2  优化服务器性能    144
5.2.1  CPU性能优化方法论    144
5.2.2  定位和处理内存泄漏问题    145
5.3  Java虚拟机(JVM)的生产调优    147
5.3.1  JVM内存模型分析    147
5.3.2  Java程序是如何在JVM中运行的    151
5.3.3  JVM优化的思路    152

第3篇  专项突破
★★第6章  应用集群化    158
6.1  为什么要应用集群化    158
6.1.1  什么是集群服务器    158
6.1.2  采用集群服务器有什么好处    160
6.1.3  集群系统和分布式系统有什么区别    161
6.2  搭建应用集群    162
6.2.1  【实战】使用反向代理搭建应用集群    163
6.2.2  【实战】搭建Linux服务器集群    166

★★第7章  缓存设计    168
7.1  什么是缓存    168
7.1.1  缓存的定义    168
7.1.2  缓存的常见分类    169
7.2  使用缓存    171
7.2.1  如何正确选择缓存的读写策略    171
7.2.2  如何使用多级缓存来提升服务性能    173
7.2.3  多级缓存之痛    179
7.3  缓存架构设计    183
7.3.1  缓存组件的选择    183
7.3.2  缓存数据结构的设计    187
7.3.3  缓存分布的设计    187
7.3.4  缓存架构部署    190
7.3.5  缓存架构设计的关键点    190
7.4  用Redis构建生产级高性能分布式缓存    192
7.4.1  Redis的常见数据类型    192
7.4.2  【实战】通过Redis的读写分离抗住10万以上的QPS    197
7.4.3  【实战】在高并发场景下,缓存“雪崩”了该怎么办    201
7.4.4  【实战】在高并发场景下,缓存“穿透”了该怎么办    204
7.4.5  【实战】构建一个高性能、可扩展的Redis集群    206
7.4.6  【实战】实现朋友圈的“点赞”功能    210
7.4.7  【实战】实现App中的“查找附近的人”功能    212

★★第8章  存储系统设计    213
8.1  池化技术    213
8.1.1  数据库连接池是如何预分配连接的    213
8.1.2  线程池是如何工作的    214
8.1.3  协程池有什么作用    216
8.2  数据库采用主从架构――数据再也不会丢了    217
8.2.1  什么是数据库的主从架构    217
8.2.2  【实战】配置MySQL主从架构    219
8.2.3  主从架构中的数据是如何实现同步的    221
8.3  数据库读写分离――读/写数据再也不用争抢了    222
8.3.1  数据库读写分离能解决什么问题    223
8.3.2  数据库读写分离造成数据不一致,该怎么办    223
8.3.3  【实战】在程序开发中实现读写分离    224
8.4  数据库分库分表――处理海量数据的“终极大招”    226
8.4.1  在什么情况下需要分库分表,如何分    226
8.4.2  【实战】在分库分表后,如何处理主键ID    229
8.4.3  【实战】在程序开发中支持分库分表    232
8.4.4  分库分表会带来什么开发难题    233
8.4.5  【实战】在分库分表后实行项目无感上线    234
8.5  引入NoSQL数据库    236
8.5.1  NoSQL数据库是什么,它和SQL数据库有什么区别    236
8.5.2  常用的NoSQL数据库    237
8.5.3  利用NoSQL数据库可以提升写入性能    237
8.5.4  利用NoSQL数据库可以提升扩展性    238

★★第9章  搜索引擎――让查询更便捷    240
9.1  为什么需要搜索引擎    240
9.2  搜索引擎的通用算法和架构    241
9.2.1  必须知道的倒排索引    241
9.2.2  互联网搜索引擎的技术架构    243
9.2.3  Lucene与Elasticsearch的前世今生    245
9.3  用Elasticsearch搭建高性能的分布式搜索引擎    247
9.3.1  Elasticsearch分布式架构的原理    247
9.3.2  【实战】将Elasticsearch应用在电商系统中    250
9.3.3  【实战】快速实现Elasticsearch的搜索建议    253
9.3.4  【实战】在海量数据下,提高Elasticsearch的查询效率    254

★★第10章  消息中间件设计――解耦业务系统与核心系统    257
10.1  同步和异步    257
10.1.1  何为同步/异步    257
10.1.2  【实战】使用回调函数获取数据    258
10.2  为何要使用消息中间件    260
10.2.1  什么是消息中间件,它有什么作用    260
10.2.2  生产级消息中间件的选型    263
10.2.3  在高并发场景下如何处理请求    264
10.3  RocketMQ在项目中的使用    267
10.3.1  RocketMQ架构原理    267
10.3.2  【实战】利用RocketMQ改造订单系统,提升性能    269
10.4  引入消息中间件会带来什么问题    275
10.4.1  需要保证消息中间件的高可用    275
10.4.2  需要保证消息不被重复消费    277
10.4.3  需要保证消息的顺序性    279
10.4.4  需要解决消息中间件中的消息延迟    280

★★第11章  微服务设计――将系统拆分    282
11.1  好好的系统为什么要拆分    282
11.2  如何拆分服务    283
11.2.1  不可忽略的SOA架构    283
11.2.2  如何对已有系统进行微服务改造    284
11.2.3  微服务拆分的方式    287
11.2.4  有哪些好用的微服务开发框架    288
11.3  微服务设计参照模型    290
11.3.1  在开发中如何定义软件分层    290
11.3.2  运用好“微服务的使用模式”可以事半功倍    292
11.4  引入微服务架构会带来什么问题及其解决方案    294
11.4.1  数据一致性问题    295
11.4.2  分布式事务问题    296
11.4.3  复杂度问题    296
11.5  如何有效治理微服务    297
11.5.1  管理服务    298
11.5.2  治理服务    298
11.5.3  监控服务    298
11.5.4  定位问题    299
11.5.5  查询日志    299
11.5.6  运维服务    299

★★第12章  API网关设计――让服务井然有序    300
12.1  为什么要引入API网关    300
12.1.1  什么是API网关    300
12.1.2  API网关的作用    301
12.2  API网关的通用设计方案    302
12.2.1  设计API网关要考虑哪些关键点    302
12.2.2  API网关的选型    304
12.3  将API网关应用到生产项目中    305
12.3.1  【实战】基于Zuul搭建生产级API网关    305
12.3.2  【实战】基于Spring Cloud Gateway搭建生产级API网关    308

★★第4篇  高并发项目设计及实战

★★第13章  高并发系统设计原则    316
13.1  高并发系统的通用设计原则    316
13.1.1  利用负载均衡分散流量    316
13.1.2  利用分布式缓存扛住“读”流量    322
13.1.3  实现数据库的读写分离    322
13.1.4  实现数据库分库分表    323
13.1.5  使用NoSQL、消息队列及搜索引擎技术    324
13.1.6  将大应用拆为小应用    325
13.2  提升系统性能的策略    325
13.2.1  垂直伸缩    325
13.2.2  水平伸缩    326

★★第14章  【项目实战】搭建千万级流量“秒杀”系统    327
14.1  搭建“秒杀”系统工程    327
14.1.1  技术选型    327
14.1.2  工程搭建    329
14.2  分析“秒杀”业务    331
14.2.1  “秒杀”业务场景分析    331
14.2.2  “秒杀”痛点分析    334
14.3  具体设计与开发    335
14.3.1  数据库层的设计与开发    335
14.3.2  业务服务层的设计与开发    335
14.3.3  动静分离的实现    339
14.3.4  优化系统以应对千万级流量    340

★★第15章  【项目实战】搭建C2C二手电商平台的社会化治理系统    342
15.1  搭建系统工程    342
15.1.1  技术栈列表    342
15.1.2  工程搭建    343
15.2  分析系统业务    343
15.2.1  C2C二手电商平台社会化治理系统的业务介绍    343
15.2.2  C2C二手电商平台社会化治理系统的痛点分析    343
15.3  整体架构设计    344
15.3.1  整体架构图    344
15.3.2  场景分析    345
15.4  微服务设计开发    345
15.4.1  服务拆分及高可用注册中心搭建    345
15.4.2  服务间通信框架选择    349
15.4.3  平台服务开发    349
15.5  服务治理开发    351
15.5.1  链路追踪的设计与开发    351
15.5.2  引入分布式事务框架    352
15.5.3  平台限流熔断的设计与开发    354
15.5.4  引入API网关    357
15.5.5  基于Nacos搭建环境隔离配置中心    358

★★第5篇  运维监控

★★第16章  运维之术――告别加班    360
16.1  什么是CI/CD    360
16.2  为什么要CI/CD    361
16.3  搭建适合自己公司的CI/CD    362
16.3.1  【实战】基于GitLab搭建代码管理平台    362
16.3.2  【实战】基于Jenkins搭建持续集成与编译平台    363
16.3.3  【实战】基于Ansible搭建自动化部署平台    366
16.4  服务器通用运维    366
16.4.1  优化硬件    366
16.4.2  分析性能瓶颈    367
16.4.3  【实战】处理服务器丢包问题    369
16.4.4  【实战】分析服务吞吐量突然下降的原因    373

★★第17章  监控之术――天使之眼    374
17.1  如何定义系统监控    374
17.1.1  需要监控哪些系统指标    374
17.1.2  如何采集监控指标    375
17.1.3  如何存储监控指标    375
17.2  搭建一套可靠的监控系统    375
17.2.1  【实战】基于ELK搭建集中化日志监控平台    375
17.2.2  【实战】基于Prometheus搭建系统指标监控预警平台    378
17.3  链路追踪――不漏过任何一个异常服务    385
17.3.1  什么是链路追踪    385
17.3.2  常用的开源链路追踪系统    386
17.3.3  【实战】在微服务架构中加入链路追踪系统SkyWalking    386

内容摘要
全书共5篇:第1篇,帮助读者建立高并发系统的基本认知;第2篇,通过一个生产系统的搭建全流程,介绍了企业系统在技术框架层面及上线方面需要关注的点;第3篇,介绍了构建高并发系统的各项技术,包括应用集群化、缓存设计、存储系统设计、搜索引擎、消息中间件设计、微服务设计、API网关设计等;第4篇,介绍了高并发系统设计原则及两个完整的高并发项目,一方面帮助读者对前面

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP