书名:架构解密:从分布式到微服务(2版)
定价:89.00
作者:吴治辉 著
出版社:电子工业出版社
出版时间:2020年06月
ISBN:9787121388354
微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。
本书总计9章。1章讲解分布式的基础——网络,对国际互联网、NIO、AIO、网络传输中的对象序列化问题、HTTP的前世今生、TCP/IP、从CDN到SD-WAN等知识进行深入讲解。2章讲解分布式系统的经典理论,涉及分布式系统的设计理念、一致性原理;ZooKeeper的使用场景;CAP理论的前世今生;BASE准则;分布式事务的原理。3章从RPC开始,讲解分布式服务治理框架的起源与原理,并讲解ZeroC Ice的原理和微服务架构实战。4~6章以专题形式讲解内存、分布式文件存储和分布式计算,对每个专题都讲解相关的重要理论、产品、开源项目及经验等。7章深入讲解全文检索与消息队列中间件的原理及用法。8章讲解以Kubernetes为代表的微服务架构解决了传统架构的哪些痛点;Service Mesh解决了微服务架构的哪些问题,以及如何理解它的原理和核心内容。9章分享作者的架构实践经验。
不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。
目录
1章 深入理解网络
1
1.1 从国际互联网开始
1
1.2 NIO,一本难念的经
7
1.2.1 难懂的ByteBuffer
7
1.2.2 晦涩的“非阻塞”
15
1.2.3 复杂的Reactor模型
18
1.3 AIO,大道至简的设计与苦涩的现实
21
1.4 网络传输中的对象序列化问题
26
1.5 HTTP的前世今生
30
1.5.1 HTTP的设计思路
31
1.5.2 HTTP如何保持状态
32
1.5.3 Session的秘密
34
1.5.4 再谈Token
36
1.5.5 分布式Session
39
1.5.6 HTTP与Service Mesh
40
1.6 分布式系统的基石:TCP/IP
42
1.7 从CDN到SD-WAN
45
1.7.1 互联互不通的运营商网络
45
1.7.2 双线机房的出现
45
1.7.3 CDN的作用
46
1.7.4 SD-WAN技术的诞生
47
2章 分布式系统的经典理论
48
2.1 从分布式系统的设计理念说起
48
2.2 分布式系统的一致性原理
50
2.3 分布式系统的基石之ZooKeeper
53
2.3.1 ZooKeeper的原理与功能
53
2.3.2 ZooKeeper的应用场景案例分析
57
2.4 经典的CAP理论
61
2.5 BASE准则,一个影响深远的指导思想
63
2.6 重新认识分布式事务
64
2.6.1 数据库单机事务的实现原理
64
2.6.2 经典的X/OpenDTP事务模型
66
2.6.3 互联网中的分布式事务解决方案
68
3章 聊聊RPC
73
3.1 从IPC通信说起
73
3.2 古老又有生命力的RPC
75
3.3 从RPC到服务治理框架
81
3.4 基于ZeroC Ice的微服务架构指南
84
3.4.1 ZeroC Ice的前世今生
84
3.4.2 ZeroC Ice微服务架构指南
86
3.4.3 微服务架构概述
93
4章 深入浅析内存
99
4.1 你所不知道的内存知识
99
4.1.1 复杂的CPU与单纯的内存
99
4.1.2 多核CPU与内存共享问题
101
4.1.3 著名的Cache伪共享问题
105
4.1.4 深入理解不一致性内存
107
4.2 内存计算技术的前世今生
110
4.3 内存缓存技术分析
115
4.3.1 缓存概述
115
4.3.2 缓存实现的几种方式
117
4.3.3 Memcache的内存管理技术
119
4.3.4 Redis的独特之处
121
4.4 内存计算产品分析
122
4.4.1 SAP HANA
123
4.4.2 Hazelcast
125
4.4.3 VoltDB
127
5章 深入解析分布式文件存储
130
5.1 数据存储进化史
130
5.2 经典的网络文件系统NFS
137
5.3 高性能计算领域的分布式文件系统
140
5.4 企业级分布式文件系统GlusterFS
142
5.5 创新的Linu分布式存储系统——Ceph
145
5.6 星际文件系统IPFS
151
5.7 软件定义存储
155
6章 聊聊分布式计算
161
6.1 不得不说的Actor模型
161
6.2 Actor原理与实践
165
6.3 初识Akka
172
6.4 适用面很广的Storm
179
6.5 MapReduce及其引发的新世界
187
7章 全文检索与消息队列中间件
194
7.1 全文检索
194
7.1.1 Lucene
195
7.1.2 Solr
199
7.1.3 ElasticSearch
202
7.2 消息队列
210
7.2.1 JEE专属的JMS
214
7.2.2 生生不息的ActiveMQ
219
7.2.3 RabbitMQ
223
7.2.4 Kafka
230
8章 微服务架构
236
8.1 微服务架构概述
236
8.1.1 微服务架构兴起的原因
237
8.1.2 不得不提的容器技术
238
8.1.3 如何全面理解微服务架构
241
8.2 几种常见的微服务架构方案
245
8.2.1 ZeroC IceGrid微服务架构
245
8.2.2 Spring Cloud微服务架构
248
8.2.3 基于消息队列的微服务架构
250
8.2.4 Docker Swarm微服务架构
251
8.3 深入Kubernetes微服务平台
253
8.3.1 Kubernetes的概念与功能
253
8.3.2 Kubernetes的组成与原理
258
8.3.3 基于Kubernetes的PaaS平台
262
8.4 从微服务到Service Mesh
280
8.4.1 Service Mesh之再见架构
280
8.4.2 Envoy核心实践入门
282
8.4.3 Istio背后的技术
286
8.4.4 Istio的架构演变
293
9章 架构实践
297
9.1 公益项目wuhansun实践
297
9.2 身边购平台实践
306
9.3 DIY一个有难度的分布式集
312