¥26.70
作品简介
etcd是一个可靠的分布式KV存储产品,由CoreOS公司开发,其底层使用Raft算法保证一致性,主要用于共享配置和服务发现。本书主要从源码角度深入剖析etcd,首先介绍etcd的背景知识,如何搭建源码环境及相关的命令。接着从基本的Raft协议开始介绍,帮助读者了解Raft协议的背景、如何处理各种异常场景及相关扩展。然后分析etcd-raft模块对Raft协议的实现,同时介绍etcd自带的raftexample示例,帮助读者了解etcd-raft模块的基本使用方法。本书还介绍HTTP编程基础和etcd-rafthttp模块的工作原理及具体实现,以及etcd中如何处理WAL日志文件及快照数据文件,并且详细分析etcd的底层存储,对v2版本和v3版本的存储都做了详细的介绍。最后重点介绍etcd服务端和客户端的相关内容,etcd服务端会组装并协调前面介绍的各个组件,并且在它们的基础上扩展出了更多的功能,此外还详细分析v2和v3两个版本客户端的具体实现。本书适合Go语言开发者,以及对etcd技术感兴趣的读者阅读。
百里燊,硕士研究生毕业,小时候想成为闯荡江湖的侠客,结果着迷于各种代码,最终沦为辛勤工作的程序员。期待与大家进行交流。邮箱:shen_baili@163.com
作品目录
作者简介
前言
第1章 etcd入门
1.1 etcd简介
1.2 数据模型
1.3 环境搭建
本章小结
第2章 Raft协议
2.1 Leader选举
2.2 日志复制
2.3 网络分区的场景
2.4 日志压缩与快照
2.5 其他技术点
本章小结
第3章 etcd-raft模块详解
3.1 raft结构体
3.2 Node接口
3.3 raftexample示例分析
本章小结
第4章 网络层
4.1 Go语言网络编程基础
4.2 etcd-rafthttp模块详解
4.3 Handler实例
本章小结
第5章 WAL日志与快照
5.1 WAL日志
5.2 SnapShotter
本章小结
第6章 storage
6.1 etcd v2版本存储
6.2 etcd v3版本存储
本章小结
第7章 etcd-server详解
7.1 raftNode结构体
7.2 RaftCluster
7.3 EtcdServer
7.4 ApplierV2和applierV3
7.5 AlarmStore
本章小结
第8章 etcd客户端详解
8.1 GRPC基础
8.2 Client v3
8.3 Client v2
本章小结
参考文献
载入中