目前市面上有很多分布式架构的书,其中很多都是讲述分布式的某项技术栈,缺少对整个分布式系统的讲解。《分布式系统架构:技术栈详解与快速进阶》这本书从多个方面去呈现分布式系统架构的多样性和完整性。
本书从全栈角度讲解了分布式系统涉及的各项主要技术,从原理剖析、应用场景和实践案例3个维度展开,是作者多年分布式系统研发和架构经验的总结。
从前端到后端、从高效交互到负载均衡、从网络传输到Web服务器、从高并发到高可用……本书囊括了分布式系统的整个技术体系,内容详实、结构清晰,能帮助读者理解和掌握分布式系统架构设计的难点和调优方案。
适读人群
本书是一本关于分布式系统架构的技术型书,适合的阅读对象如下。
对分布式、分布式全栈中使用的技术栈感兴趣的读者。
基础偏弱,想通过学习分布式全栈中的概念、设计思想以加深对分布式理解的技术人员。
基础偏强,想深刻理解并灵活运用分布式全栈中的设计思想、优化方案的技术人员。
本书特色
本书根据分布式环境交互的顺序来构造和安排内容,建议按照目录的顺序依次阅读。全书一共10章,具体如下。
第1章 主要介绍分布式的发展过程、分布式架构、分布式架构技术设计难点以及互联网中技术在分布式下的使用。
第2章 主要介绍分布式环境下前后端交互发展过程、交互难点和高效交互调优。
第3章 主要介绍分布式环境中网络传输的过程、难点、性能调优。
第4章 主要介绍Nginx的负载均衡、页面缓存、限流、高可用、性能调优。
第5章 主要介绍Varnish的HTTP加速、缓存策略、高可用、性能调优。
第6章 主要介绍Tomcat的原理、加载机制、安全管理、高可用集群、性能调优。
第7章 主要介绍分布式环境中高并发的问题,通过多种技术方案,如缓存、消息队列、分布式锁等去优化处理,以提高系统整体的吞吐量。
第8章 主要介绍普通事务与分布式事务的差异性,以及对分布式事务的多种处理方式,本章会通过多个案例并结合代码进行分析。
第9章 主要介绍MySQL数据库的特性,即如何通过高效索引优化、高可用的技术方案让MySQL提供更高效的数据库服务。
第10章 主要介绍分布式环境中高可用的相关内容,即如何通过容量预估、全链路压测、容灾设计来提高系统整体的可用性和健壮性。
作者简介
张程,资深研发工程师和架构师,在分布式系统架构领域有丰富的实战经验,擅长高并发、高可用系统的架构,以及分布式系统的性能调优。
曾就职于格瓦拉电影和优速科技,任职期间参与过多个大型银行系统、大型购票系统、物流订单系统的架构设计和研发工作。曾经还参与过分布式Job调度系统的设计和架构工作。
热衷于技术探索和研发,在CSDN分享了大量关于架构和研发的文章,获得一致好评。
目录
●第1章 分布式架构介绍 1
1.1 分布式架构发展过程 2
1.2 分布式架构设计理念和目标 6
1.2.1 设计理念 6
1.2.2 设计目标 7
1.3 分布式架构应用场景 10
1.4 分布式架构设计难点 10
1.4.1 网络因素 10
1.4.2 服务可用性 11
1.4.3 数据一致性 12
1.5 分布式架构解决痛点 13
1.6 本章小结 14
●第2章 分布式架构前后端交互 15
2.1 前后端交互发展过程 15
2.1.1 传统交互模式 16
2.1.2 前后端分离交互模式 19
2.1.3 整体交互 22
2.2 前后端交互方式 22
2.2.1 工作流程 22
2.2.2 交互常见状态码 29
2.3 前后端交互难点 30
2.4 前后端交互优化 32
2.5 案例讲解 37
2.6 本章小结 40
●第3章 分布式架构网络传输 41
3.1 网络传输协议 41
3.2 网络传输调用过程 46
3.2.1 协议概述 46
3.2.2 传输过程 48
3.3 网络传输优化 52
3.4 本章小结 54
●第4章 分布式架构Nginx 55
4.1Nginx工作原理 55
4.2Nginx源码编译安装 57
4.3Nginx配置 62
4.4Nginx代理&负载均衡 64
4.4.1 正向代理 66
4.4.2 反向代理 66
4.4.3 动静分离 68
4.4.4 负载均衡策略 69
4.5Nginx缓存 74
4.6Nginx限流 76
4.7Nginx屏蔽 79
4.8Nginx优化 79
4.8.1 优化思路 79
4.8.2 核心配置优化 79
4.9Nginx高可用 82
4.10 本章小结 86
●第5章 分布式架构Varnish 87
5.1Varnish工作原理 87
5.2Varnish源码编译安装 89
5.3Varnish配置 92
5.4Varnish核心指令 98
5.4.1Varnish核心指令之backend 98
5.4.2Varnish核心指令之director 98
5.5Varnish缓存 102
5.5.1Varnish缓存状态 102
5.5.2Varnish缓存管理 104
5.6Varnish处理策略 105
5.6.1pass 106
5.6.2pipe 106
5.6.3lookup 107
5.7Varnish健康检查 107
5.8Varnish优化 109
5.8.1Varnish优化思路 109
5.8.2Varnish优化讲解 109
5.9Varnish高可用 111
5.10 本章小结 116
●第6章 分布式架构Tomcat 117
6.1Tomcat原理 117
6.2Tomcat生命周期 123
6.3Tomcat源码编译安装 124
6.4Tomcat目录结构 126
6.4.1bin目录 126
6.4.2conf目录 127
6.4.3lib目录 128
6.4.4logs目录 129
6.4.5webapps目录 129
6.5Tomcat加载过程 130
6.5.1Bootstrap类初始化 130
6.5.2Bootstrap启动 132
6.6Tomcat安全 135
6.6.1 配置调整 135
6.6.2 安全策略 136
6.6.3SSL传输安全 136
6.7Tomcat集群 137
6.7.1 集群组件实现 138
6.7.2 集群配置 139
6.8JVM 142
6.8.1Class文件结构 143
6.8.2 类的装载、连接和初始化 145
6.8.3JVM的内存分配 148
6.8.4JVM执行引擎 151
6.8.5 垃圾回收 152
6.9Tomcat性能调优 158
6.9.1 性能测试 158
6.9.2 性能优化 162
6.10 本章小结 167
●第7章 分布式架构高并发 168
7.1 高并发使用场景 169
7.2 高并发难点 171
7.2.1 高并发期间如何避免产生脏数据 171
7.2.2 当出现脏数据后如何处理 171
7.2.3 高并发期间如何节约带宽 172
7.3 高并发之缓存 174
7.3.1Redis介绍 174
7.3.2Redis原理 175
7.3.3Redis安装编译 176
7.3.4Redis数据结构 178
7.3.5Redis持久化 181
7.3.6Redis事务 183
7.3.7Redis分布式锁 186
7.3.8Redis任务队列 189
7.3.9Redis高并发处理常见问题及解决方案 201
7.3.10Redis高可用 211
7.3.11Redis调优 213
7.4 高并发之消息队列 214
7.4.1RocketMQ介绍 214
7.4.2RocketMQ安装编译 217
7.4.3RocketMQ应用场景 221
7.4.4RocketMQ路由中心 222
7.4.5RocketMQ消息存储结构 224
7.4.6RocketMQ刷盘和复制策略 226
7.4.7RocketMQ消息队列 227
7.4.8RocketMQ高并发处理常见问题及解决方案 238
7.4.9RocketMQ集群 240
7.4.10RocketMQ调优 240
7.5 高并发优化 242
7.5.1 优化思路 242
7.5.2 优化方案 243
7.6 高并发经典案例 245
7.7 本章小结 249
●第8章 分布式架构事务 250
8.1 分布式事务介绍 251
8.1.1 本地事务 251
8.1.2 全局事务 253
8.1.3 两阶段提交 254
8.1.4 分布式事务 255
8.1.5 小结 255
8.2 分布式事务概论 256
8.2.1CAP定理 256
8.2.2BASE理论 257
8.3 分布式事务应用场景 258
8.4 分布式事务难点 259
8.4.1 网络因素 259
8.4.2 消息重复发送 260
8.4.3CAP定理选择 262
8.5 分布式事务解决方案 262
8.5.1 最大努力通知 263
8.5.2TCC事务补偿 273
8.5.3 消息一致性 284
8.6 分布式事务案例讲解 295
8.7 本章小结 297
●第9章 分布式架构MySQL 298
9.1MySQL运行原理 299
9.2MySQL编译启动 304
9.3MySQL事务 307
9.3.1 事务特性 307
9.3.2 隔离级别 308
9.3.3 死锁 308
9.3.4 事务日志 309
9.4MySQL存储引擎 310
9.4.1 概述 310
9.4.2InnoDB 311
9.4.3MyISAM 313
9.5MySQL之SQL操作 314
9.5.1SQL介绍 314
9.5.2 库 316
9.5.3 表 316
9.6MySQL索引 317
9.6.1 索引概述 317
9.6.2 数据结构 318
9.6.3 索引分类 319
9.6.4 创建索引 319
9.7MySQL备份 321
9.7.1 备份概述 321
9.7.2 备份类型 321
9.7.3 备份内容 322
9.8MySQL难点 323
9.8.1 死锁 323
9.8.2 连接数过多 325
9.8.3 主从复制延迟 325
9.8.4CPU飙高 326
9.8.5 索引效率 326
9.9MySQL性能优化 326
9.9.1 优化思路 326
9.9.2 优化过程 327
9.10MySQL集群 331
9.11 本章小结 333
●第10章 分布式架构高可用 334
10.1 高可用概述及难点 334
10.2 高可用涉及内容 336
10.3 高可用具体应用 344
10.4 高可用案例讲解 345
10.5 本章小结 346
上下滑动查看
点击链接了解详情并购买
更多精彩回顾
上新 | 周志华领衔撰写,历时4年,宝箱书问世!
书单 | 怎样成为一名真正的数据分析师?这份书单就是答案
干货 | 【直播回放&PPT】复旦大学邱锡鹏教授:如何学习深度学习
收藏 | 你以为在埋头生产口罩的霍尼韦尔,刚刚造出了全球最强量子计算机,性能超越谷歌