| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
序
前言
第一部分 分布式系统基础与理论
第1章 分布式系统基础2
1.1 概述2
1.2 分布式设计目标4
1.2.1 一致性4
1.2.2 可用性6
1.2.3 分区容错性8
1.2.4 可扩展性9
1.3 数据模型10
1.3.1 关系模型10
1.3.2 文档模型12
1.3.3 图状数据模型14
1.4 数据存储15
1.4.1 数据库内部的数据结构17
1.4.2 列式存储20
1.5 数据冗余与副本25
1.6 本章小结27
第2章 分布式数据处理语言29
2.1 SQL29
2.1.1 SQL基础30
2.1.2 SQL的查询语句33
2.1.3 SQL表的连接42
2.1.4 SQL的其他语句48
2.2 NoSQL52
2.2.1 键值数据库处理语言53
2.2.2 文档数据库处理语言56
2.2.3 列族数据库处理语言61
2.2.4 图数据库处理语言65
2.3 本章小结72
第3章 分布式查询过程73
3.1 分布式连接问题74
3.1.1 直接连接算法77
3.1.2 半连接算法78
3.1.3 布隆连接算法80
3.2 多关系连接83
3.2.1 分布式查询优化的目标83
3.2.2 分布式查询优化的基本方法84
3.2.3 局部处理优化85
3.2.4 基于直接连接的多连接查询优化87
3.2.5 基于半连接的多连接查询优化90
3.3 关系连接算法91
3.3.1 嵌套循环连接算法92
3.3.2 哈希连接算法93
3.3.3 排序归并连接算法95
3.4 本章小结97
第4章 分布式环境下的事务处理99
4.1 深入理解事务100
4.1.1 本地事务100
4.1.2 全局事务111
4.1.3 分布式事务112
4.2 原子提交协议和分布式事务
解决方案113
4.2.1 2PC协议113
4.2.2 3PC协议118
4.2.3 Best Efforts 1 PC事务120
4.2.4 TCC事务121
4.2.5 SAGA事务123
4.3 并发控制协议125
4.3.1 悲观并发控制协议126
4.3.2 乐观并发控制协议134
4.3.3 多版本并发控制协议136
4.4 本章小结138
第5章 分布式数据服务一致性139
5.1 数据同步方法139
5.1.1 主从复制139
5.1.2 多主复制141
5.1.3 无主复制143
5.2 分布式数据一致性级别144
5.2.1 线性一致性145
5.2.2 顺序一致性和PRAM一致性147
5.2.3 因果一致性149
5.2.4 最终一致性和弱一致性152
5.3 分布式数据一致性/共识算法154
5.3.1 ViewStamped Replication算法157
5.3.2 Paxos算法161
5.3.3 Practical Byzantine Fault Tolerance算法167
5.3.4 Raft算法171
5.4 本章小结177
第二部分 分布式系统经典案例学习与实战
第6章 分布式系统案例分析——GFS180
6.1 GFS的设计目标180
6.2 GFS的master节点181
6.3 GFS读文件182
6.4 GFS写文件182
6.5 GFS的一致性183
6.6 本章小结185
第7章 面向分布式系统设计的Go语言基础知识186
7.1 Go 语言的优势186
7.2 切片189
7.2.1 Go语言中的数组189
7.2.2 切片的声明190
7.2.3 切片的追加190
7.2.4 切片的截取192
7.2.5 修改切片元素193
7.3 Goroutine和通道194
7.3.1 Goroutine简介195
7.3.2 Goroutine 的使用196
7.3.3 通道简介200
7.3.4 通道实现同步202
7.4 调度器203
7.4.1 调度器的设计决策203
7.4.2 Go语言调度器模型204
7.5 本章小结213
第8章 构建强一致性算法库214
8.1 核心数据结构设计214
8.2 协程模型215
8.3 RPC定义217
8.3.1 日志条目:Entry217
8.3.2 投票请求:Request-Vote217
8.3.3 追加日志:Append-Entries218
8.4 Leader 选举实现分析219
8.5 日志复制实现分析224
8.6 Raft快照实现分析228
8.7 本章小结230
第9章 基于强一致性算法库构建分布式键值存储系统231
9.1 eraftkv架构及运行流程231
9.2 eraftkv环境配置232
9.3 让系统运行起来233
9.4 对外接口定义234
9.5 服务端核心实现分析235
9.6 本章小结239
第10章强一致性算法Raft的优化设计与实现:Multi-Raft240
10.1 设计思考240
10.2 配置服务器实现分析241
10.3 分片服务器实现分析242
10.4 客户端实现分析246
10.5 本章小结248
参考文献249