电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术

49.00
运费: 免运费
高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术 商品图0
高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术 商品图1
高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术 商品缩略图0 高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术 商品缩略图1

商品详情

书名:高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketMQ、微服务、持续集成等  
定价:109.0  
ISBN:9787121442049  
作者:谢恩德  
版次:*1版  
出版时间:2022-09  

内容提要:  
全书共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  

电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

高并发系统实战派 集群 Redis缓存 海量存储 Elasticsearch RocketMQ 微服务 持续集成等 企业系统技术框架搭建技术

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏