云原生分布式存储基石:etcd深入解析

云原生分布式存储基石:etcd深入解析 pdf epub mobi txt 电子书 下载 2025

出版者:机械工业出版社
作者:杜军
出品人:
页数:309
译者:
出版时间:2018-11-5
价格:79
装帧:平装
isbn号码:9787111611929
丛书系列:云计算技术系列丛书
图书标签:
  • etcd
  • go
  • Distributed
  • Etcd
  • 计算机
  • 分布式
  • raft
  • 计算机科学
  • etcd
  • 云原生
  • 分布式存储
  • 微服务
  • Kubernetes
  • Go语言
  • 数据一致性
  • 配置管理
  • 服务发现
  • 运维实践
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书为读者深度解析分布式键值存储系统,全书分为3部分,第1部分是对分布式系统的概念和一致性协议的综述,重点解析Raft协议,使读者对分布式键值存储系统有初步了解;第2部分介绍etcd安装、部署、运维、安全、API调用等方面的知识,帮助读者进一步掌握分布式系统的使用方法,熟悉其常见功能和使用场景;第3部分是本书的特色部分,从代码层次深入探讨了etcd各大关键特性的具体设计与实现原理,读者读完本部分,会对整个etcd的架构有更加清晰的认识,可以从中汲取灵感,从而将一些实用的经验应用到自己的分布式系统中。

作者简介

杜军,浙江大学计算机学院硕士毕业,《Docker——容器与容器云》和《云原生分布式存储基石:etcd》这两本书的作者。现任职于华为Cloud BU PaaS服务产品部,主要负责容器与Kubernetes集群管理技术的研发。是Kubernetes核心维护者,也是CNCF TOC Contributor。在Kubernetes社区主导了Kube-proxy IPVS模式,Pod网络QoS,流图调度器Poseidon,Cluster-API-OpenStack和边缘计算KubeEdge等项目的开发。你可以在KubeCon,LinuxCon和CNUTCon等大会找到我分享的主题演讲,我也做过多次Kubernetes和CKA考试的培训。

目录信息

前言
第一部分 基础篇
第1章 分布式系统与一致性协议 2
1.1 CAP原理 3
1.2 一致性 5
1.2.1 一致性模型 7
1.2.2 一致性模型分述 9
1.2.3 复制状态机 16
1.2.4 拜占庭将军问题 18
1.2.5 FLP不可能性 19
1.2.6 小结 21
1.3 Paxos协议 22
1.4 Raft协议:为可理解性而生 24
1.4.1 Raft一致性算法 26
1.4.2 可用性与时序 45
1.4.3 异常情况 46
1.4.4 日志压缩与快照 52
1.4.5 Raft算法性能评估 56
1.4.6 小结 58
第二部分 实战篇
第2章 为什么使用etcd 62
2.1 etcd是什么 64
2.2 etcd架构简介 66
2.2.1 etcd数据通道 69
2.2.2 etcd架构 71
2.3 etcd典型应用场景举例 72
2.3.1 服务注册与发现 72
2.3.2 消息发布和订阅 75
2.3.3 负载均衡 76
2.3.4 分布式通知与协调 77
2.3.5 分布式锁 78
2.3.6 分布式队列 80
2.3.7 集群监控与Leader竞选 81
2.3.8 小结 82
2.4 etcd性能测试 82
2.4.1 etcd读性能 82
2.4.2 etcd写性能 83
2.5 etcd与其他键值存储系统的对比 84
2.5.1 ZooKeeper VS etcd 85
2.5.2 Consul VS etcd 88
2.5.3 NewSQL(Cloud Spanner、CockroachDB、TiDB)VS etcd 88
2.5.4 使用etcd做分布式协同 89
2.5.5 小结 90
2.6 使用etcd的项目 90
2.7 etcd概念词汇表 91
2.8 etcd发展里程碑 92
2.8.1 etcd 0.4版本 93
2.8.2 etcd 2.0版本 93
2.8.3 etcd 3.0版本 93
第3章 etcd初体验 95
3.1 单机部署 95
3.1.1 单实例etcd 95
3.1.2 多实例etcd 98
3.2 多节点集群化部署 100
3.2.1 静态配置 101
3.2.2 服务发现 104
3.3 etcdctl常用命令行 107
3.3.1 key的常规操作 107
3.3.2 key的历史与watch 112
3.3.3 租约 115
3.4 etcd常用配置参数 117
3.4.1 member相关参数项 117
3.4.2 cluster相关参数项 118
3.4.3 proxy相关参数项 120
3.4.4 安全相关参数项 120
3.4.5 日志相关参数项 121
3.4.6 不安全参数项 121
3.4.7 统计相关参数项 122
3.4.8 认证相关参数项 122
第4章 etcd开放API之v 2123
4.1 API保证 124
4.2 etcd v2 API 126
4.2.1 集群管理API 126
4.2.2 键值API 126
4.2.3 键的TTL 130
4.2.4 等待变化通知:watch 134
4.2.5 自动创建有序key 146
4.2.6 目录TTL 148
4.2.7 原子的CAS 149
4.2.8 原子的CAD 151
4.2.9 创建目录 153
4.2.10 罗列目录 154
4.2.11 删除目录 156
4.2.12 获取一个隐藏节点 157
4.2.13 通过文件设置key 158
4.2.14 线性读 158
4.3 统计数据 158
4.3.1 Leader数据 159
4.3.2 节点自身的数据 160
4.3.3 更多统计数据 161
4.4 member API 162
4.4.1 List member 162
4.4.2 加入一个member 163
4.4.3 删除一个member 163
4.4.4 修改member的peer URL 164
第5章 etcd开放API之v 3165
5.1 从etcd v2到etcd v 3166
5.1.1 gRPC 167
5.1.2 序列化和反序列化优化 167
5.1.3 减少TCP连接 167
5.1.4 租约机制 167
5.1.5 etcd v3的观察者模式 168
5.1.6 etcd v3的数据存储模型 169
5.1.7 etcd v3的迷你事务 170
5.1.8 快照 171
5.1.9 大规模watch 171
5.2 gRPC服务 172
5.3 请求和响应 174
5.4 KV API 176
5.4.1 键值对 176
5.4.2 revision 177
5.4.3 键区间 178
5.4.4 Range API 178
5.4.5 PUT调用 181
5.4.6 事务 182
5.4.7 Compact调用 186
5.5 watch API 186
5.5.1 Event 187
5.5.2 流式watch 187
5.6 Lease API 190
5.6.1 获得租约 190
5.6.2 Keep Alives 192
5.7 API使用示例 192
第6章 etcd集群运维与稳定性 195
6.1 etcd升级 195
6.1.1 etcd从2.3升级到3. 0195
6.1.2 etcd从3.0升级到3. 1199
6.2 从etcd v2切换到v 3202
6.2.1 切换客户端代码 202
6.2.2 数据迁移 203
6.3 运行时重配置 204
6.3.1 两阶段配置更新保证集群安全 205
6.3.2 永久性失去半数以上member 206
6.4 参数调优 207
6.4.1 时间参数 207
6.4.2 快照 208
6.4.3 磁盘 209
6.4.4 网络 209
6.5 监控 209
6.6 维护 210
6.6.1 压缩历史版本 210
6.6.2 消除碎片化 211
6.6.3 存储配额 211
6.6.4 快照备份 213
6.7 灾难恢复 213
6.7.1 快照 214
6.7.2 恢复集群 214
6.8 etcd网关 215
6.8.1 什么时候使用etcd网关 216
6.8.2 什么时候不该使用etcd网关 216
6.8.3 启动etcd网关 217
6.9 gRPC代理 217
6.9.1 可扩展的watch API 218
6.9.2 限制 219
6.9.3 可扩展的带租约的API 219
6.9.4 服务端保护 220
6.9.5 启动gRPC代理 220
6.9.6 客户端节点同步和域名解析 221
6.9.7 名字空间 222
6.10 故障恢复 223
6.10.1 小部分从节点故障 223
6.10.2 主节点故障 224
6.10.3 大部分节点故障 224
6.10.4 网络分区 224
6.10.5 集群启动异常 225
6.11 硬件 225
第7章 etcd安全 231
7.1 访问安全 231
7.1.1 权限资源 232
7.1.2 键值资源 234
7.1.3 配置资源 234
7.2 etcd访问控制实践 235
7.2.1 User相关命令 235
7.2.2 Role相关命令 236
7.2.3 启用用户权限功能 237
7.3 传输安全 238
7.3.1 TLS/SSL工作原理 239
7.3.2 使用TLS加密etcd通信 241
7.3.3 etcd安全配置详解 247
第三部分 高级篇
第8章 多版本并发控制 252
8.1 为什么选择MVCC 253
8.2 etcd v2存储机制实现 255
8.3 etcd v3数据模型 255
8.3.1 逻辑视图 256
8.3.2 物理视图 259
8.4 etcd v3的MVCC的实现 259
8.5 etcd v3 MVCC源码分析 261
8.5.1 revision 262
8.5.2 key到revision之间的映射关系 263
8.5.3 从BoltDB中读取key的value值 264
8.5.4 压缩历史版本 266
8.6 为什么选择BoltDB作为底层的存储引擎 267
第9章 etcd的日志和快照管理 269
9.1 数据的持久化和复制 271
9.2 etcd的日志管理 272
9.2.1 WAL数据结构 272
9.2.2 WAL文件物理格式 273
9.2.3 WAL文件的初始化 274
9.2.4 WAL追加日志项 276
9.2.5 WAL日志回放 277
9.2.6 Master向Slave推送日志 278
9.2.7 Follower日志追加 280
9.3 etcd v2的快照管理 280
9.3.1 快照数据结构 281
9.3.2 创建快照 281
9.3.3 快照复制 284
9.3.4 快照之后的日志回收 286
第10章 etcd v3的事务和隔离 288
10.1 事务ACID 288
10.2 事务的隔离性 289
10.2.1 Read uncommitted(读未提交) 290
10.2.2 Read committed(读提交) 290
10.2.3 Repeatable read(重复读) 290
10.3 etcd的事务 291
10.3.1 Serializability的重要性 291
10.3.2 etcd v3的事务实现 293
10.3.3 软件事务内存 295
10.3.4 etcd v3 STM实现 296
第11章 etcd watch机制详解 300
11.1 etcd v2的watch机制详解 300
11.1.1 客户端的watch请求 300
11.1.2 key发生变更时通知客户端 303
11.1.3 带版本号的watch 303
11.1.4 etcd v2 watch的限制 304
11.2 etcd v3的watch实现机制 306
· · · · · · (收起)

读后感

评分

我都有点怀疑作者自己有没有看过源码了。 全都是翻译,而且直接使用原来论文的图片?有版权吗? 还是去看隔壁的etcd技术内幕吧,那本作者明显有诚意。 补充 a aa a啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...  

评分

我都有点怀疑作者自己有没有看过源码了。 全都是翻译,而且直接使用原来论文的图片?有版权吗? 还是去看隔壁的etcd技术内幕吧,那本作者明显有诚意。 补充 a aa a啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...  

评分

这图是官网的,拷贝下来这么难?确实难,因为我拷贝过,很容易错位,没想到还有分页的。还有看看这惊人的行间距,贵没关系,这样搞就不诚实了。本来 etcd 是挺好的话题,也是 k8s 的基石,结果搞成这样,难道我们技术提高了所以这些小细节就可以忽略了?内容没细看,先喷一句吧...

评分

我都有点怀疑作者自己有没有看过源码了。 全都是翻译,而且直接使用原来论文的图片?有版权吗? 还是去看隔壁的etcd技术内幕吧,那本作者明显有诚意。 补充 a aa a啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...  

评分

这图是官网的,拷贝下来这么难?确实难,因为我拷贝过,很容易错位,没想到还有分页的。还有看看这惊人的行间距,贵没关系,这样搞就不诚实了。本来 etcd 是挺好的话题,也是 k8s 的基石,结果搞成这样,难道我们技术提高了所以这些小细节就可以忽略了?内容没细看,先喷一句吧...

用户评价

评分

深入浅出,适合各个层次读者。分布式键值存储系统的里程碑之作!市面上解读etcd最好的书籍!

评分

读了试读章节,很不错,原理介绍的比较详细。

评分

入门书,字大书薄.基础篇还算有所收获,可惜语焉不详,CAP只讲了C.后面,各种状态的同步机制分析,图还都是错的,实战篇,混杂着etcd2和etcd3的内容,大部分都是官方文档翻译,非常偏运维.高级篇就东一榔头西一棒槌来了,也就是说个大概,不够透彻.

评分

真正读raft,博士论文得细读,实现也得细究。 2014年的论文,几个优化trick到现在library也没实现完,还是用的不多啊。 第一章讲原理就有几个理解错误,leaderCommit是给每个Follower维护的么,前一页也写了nextIndex啊。

评分

第一部分主要描述一致性协议和Raft算法。一致性协议感觉博客水平,没有系统性讲解,部分图片存在错误。建议想了解一致性协议的同学读《分布式系统概念与设计》等书;Raft算法是对Raft论文部分章节的翻译,而且有些地方有明显翻译(或理解)错误,建议想了解Raft算法的同学一定要阅读论文原文。 第二部分实战不评价。 第三部分本应该是本书的重点,但是笔墨偏少,不够深入。例如etcd读写接口怎么使用的MVCC并没有细讲或者并没有讲清楚;讲了事务的ACID和隔离级别,但并没有很好的和etcd结合起来;watch机制中的watchhub也没讲。想深入了解etcd的同学看来是不能偷懒,还是应该乖乖去撸源码。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有