第1章 大话分布式系统 1
1.1 IT争霸战 1
1.1.1 划时代的第一台计算机 1
1.1.2 IT界的恐龙时代 4
1.1.3 贵族的没落与平民的胜利 6
1.1.4 ARM新贵的爆发 10
1.1.5 超级计算机的绝地反击 11
1.2 分布式系统的开国元勋 13
1.3 分布式系统的基石:TCP/IP 17
1.4 从无奈到崛起的CDN网 19
1.5 这是一个最好的时代 21
第2章 “知识木桶”中的短板——网络基础 23
2.1 即使高手也不大懂的网络 23
2.2 NIO,一本难念的经 30
2.2.1 难懂的ByteBuffer 30
2.2.2 晦涩的“非阻塞” 39
2.2.3 复杂的Reactor模型 41
2.3 AIO,大道至简的设计与苦涩的现实 45
2.4 网络传输中的对象序列化问题 50
第3章 分布式系统的经典基础理论 55
3.1 从分布式系统的设计理念说起 55
3.2 分布式系统的一致性原理 58
3.3 分布式系统的基石之ZooKeeper 61
3.3.1 ZooKeeper的原理与功能 61
3.3.2 ZooKeeper的场景案例分析 65
3.4 经典的CA理论 69
3.5 BASE准则,一个影响深远的指导思想 72
3.6 重新认识分布式事务 73
3.6.1 数据库单机事务的实现原理 73
3.6.2 经典的X/OpenDTP事务模型 75
3.6.3 互联网中的分布式事务解决方案 78
第4章 聊聊RPC 83
4.1 从IPC通信说起 83
4.2 古老又有生命力的RPC 85
4.3 从RPC到服务治理框架 91
4.4 基于ZeroC Ice的微服务架构指南 94
4.4.1 微服务架构概述 95
4.4.2 ZeroC Ice微服务架构指南 100
第5章 深入浅析内存 107
5.1 你所不知道的内存知识 107
5.1.1 复杂的CPU与单纯的内存 107
5.1.2 多核CPU与内存共享的问题 110
5.1.3 著名的Cache伪共享问题 113
5.1.4 深入理解不一致性内存 115
5.2 内存计算技术的前世今生 118
5.3 内存缓存技术分析 123
5.3.1 缓存概述 123
5.3.2 缓存实现的几种方式 125
5.3.3 学习Memcache的内存管理技术 127
5.3.4 Redis的独特之处 129
5.4 内存计算产品分析 131
5.4.1 SAP HANA 131
5.4.2 Hazelcast 133
5.4.3 VoltDB 135
第6章 深入解析分布式存储 138
6.1 数据存储进化史 138
6.2 经典的网络文件系统NFS 145
6.3 高性能计算领域的分布式文件系统 148
6.4 企业级分布式文件系统GlusterFS 150
6.5 创新的Linux分布式存储系统——Ceph 153
6.6 软件定义存储 160
第7章 聊聊分布式计算 166
7.1 不得不说的Actor模型 166
7.2 Actor原理与实践 170
7.3 初识Akka 177
7.4 适用面很广的Storm 185
7.5 MapReduce及其引发的新世界 194
第8章 全文检索与消息队列中间件 201
8.1 全文检索 201
8.1.1 什么是全文检索 201
8.1.2 起于Lucene 202
8.1.3 Solr 206
8.1.4 ElasticSearch 209
8.2 消息队列 217
8.2.1 消息队列概述 217
8.2.2 JEE专属的JMS 221
8.2.3 生生不息的ActiveMQ 226
8.2.4 RabbitMQ 231
8.2.5 Kafka 238
第9章 微服务架构 244
9.1 微服务架构概述 244
9.1.1 微服务架构兴起的原因 244
9.1.2 不得不提的容器技术 246
9.1.3 如何全面理解微服务架构 249
9.2 几种常见的微服务架构方案 253
9.2.1 ZeroC IceGrid微服务架构 253
9.2.2 Spring Cloud微服务架构 256
9.2.3 基于消息队列的微服务架构 259
9.2.4 Docker Swarm微服务架构 261
9.3 深入Kubernetes微服务平台 263
9.3.1 Kubernetes的概念与功能 263
9.3.2 Kubernetes的组成与原理 268
9.3.3 基于Kubernetes的PaaS平台 272