ETCD技术内幕

本书特色

[

本书主要从源码角度深入剖析etcd:
l etcd的背景知识,如何搭建源码环境及相关命令
l Raft协议的背景,如何处理各种异常场景及相关扩展
l etcd-raft模块对Raft协议的实现,etcd自带的raftexample示例
l HTTP编程基础,etcd-rafthttp模块的工作原理和具体实现

]

内容简介

[

etcd是一个可靠的的分布式KV存储,由CoreOS公司开发,其底层使用Raft算法保证一致性,主要用于共享配置和服务发现。本书主要从源码角度深入剖析etcd,首先介绍etcd的背景知识,并介绍如何搭建起源码环境以及相关的命令。然后从基本的Raft协议开始介绍,帮助读者了解Raft协议的背景。接着分析etcd-raft模块对Raft协议的实现,etcd-raft模块是etcd的核心模块之一,该模块也被很多其他的项目中直接作为Raft协议的底层实现。然后介绍Http编程基础以及etcd-rafthttp模块的工作原理和具体实现,介绍etcd中如何处理WAL日志文件以及快照数据文件,详细分析了etcd的底层存储。很后重点介绍etcd服务端和etcd客户端的相关内容。

]

作者简介

[

百里燊,硕士研究生,小时候想成为闯荡江湖的侠客,结果着迷于各种代码,最终沦为辛勤工作的程序猿。期待与大家交流。
邮箱:shen_baili@163.com

]

目录

目  录第1章 etcd入门1.1 etcd简介1.2 数据模型1.3 环境搭建1.3.1 环境变量1.3.2 代码结构1.3.3 运行本章小结第2章 Raft协议2.1 Leader选举2.2 日志复制2.3 网络分区的场景2.4 日志压缩与快照2.5 其他技术点2.5.1 linearizable语义2.5.2 只读请求2.5.3 PreVote状态2.5.4 Leader节点转移本章小结第3章 etcd-raft模块详解3.1 raft结构体3.1.1 Config结构体3.1.2 Storage接口及其实现3.1.3 unstable结构体3.1.4 raftLog结构体3.1.5 raft实现3.2 Node接口3.2.1 node结构体3.2.2 初始化3.2.3 run()方法3.2.4 Node接口实现3.3 raftexample示例分析3.3.1 raftNode3.3.2 HTTP服务端3.3.3 kvstore本章小结第4章 网络层4.1 Go语言网络编程基础4.1.1 http.Server4.1.2 RoundTripper4.2 etcd-rafthttp模块详解4.2.1 rafthttp.Transporter接口4.2.2 Peer接口4.2.3 pipeline4.2.4 streamWriter实例4.2.5 streamReader实例4.2.6 snapshotSender4.3 Handler实例4.3.1 pipelineHandler4.3.2 streamHandler4.3.3 snapshotHandler本章小结第5章 WAL日志与快照5.1 WAL日志5.1.1 初始化5.1.2 打开日志5.1.3 读取日志5.1.4 追加日志5.1.5 文件切换5.2 SnapShotter本章小结第6章 storage6.1 etcd v2版本存储6.1.1 node6.1.2 Event6.1.3 watcher和watcherHub6.1.4 store6.2 etcd v3版本存储6.2.1 backend6.2.2 watcher机制6.2.3 Lessor本章小结第7章 etcd-server详解7.1 raftNode结构体7.2 RaftCluster7.3 EtcdServer7.3.1 初始化7.3.2 注册Handler7.3.3 启动7.4 ApplierV2和applierV37.4.1 ApplierV27.4.2 applierV37.5 AlarmStore本章小结第8章 etcd客户端详解8.1 GRPC基础8.1.1 定义proto文件8.1.2 服务端8.1.3 创建客户端8.2 Client v38.2.1 kvServer8.2.2 EtcdServer8.2.3 Client8.3 Client v28.3.1 KeysAPI接口8.3.2 httpClient接口本章小结参考文献

封面

ETCD技术内幕

书名:ETCD技术内幕

作者:百里?

页数:412

定价:¥89.0

出版社:电子工业出版社

出版日期:2017-05-01

ISBN:9787121343865

PDF电子书大小:81MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注