电子书:《etcd技术内幕》_百里燊

[复制链接]
查看356 | 回复1 | 2019-12-6 19:00:53 | 显示全部楼层 |阅读模式

《etcd技术内幕》_百里燊_1

《etcd技术内幕》_百里燊_1

《etcd技术内幕》_百里燊_2

《etcd技术内幕》_百里燊_2

《etcd技术内幕》_百里燊_3

《etcd技术内幕》_百里燊_3


内容简介:

作者简介
百里燊
硕士研究生毕业,小时候想成为闯荡江湖的侠客
结果若迷于各种代码,最终沦为辛勤工作的程序员。
期待与大家进行交流
邮箱: shen baili@163cm

etcd
技术内幕
百里燊/编著
電子工出社
Publishing House of Electronics Industry
比京→ BELJING

内容简介
etcd是一个可靠的分布式Kv存储产品,由 Cores公司开发,其底层使用Raft算法保证一致性,主
要用于共享配置和服务发现
本书主要从源码角度深入剖析etcd,首先介绍etcd的背景知识,如何搭建源码环境及相关的命令,接
着从基本的Raf协议开始介绍,帮助读者了解Raft协议的背景、如何处理各种异常场景及相关扩展。然
后分析 etcd-raft模块对Raft协议的实现,同时介绍etcd自带的 raftexample示例,帮助读者了解 etcd-raft
法。本书还介绍HTTP編程基础和etcd-rafthttp模块的工作原理及具体实现,以及etcd
中如何处理WAL日志文件及快照数据文件,并且详细分析etcd的底层存储,对v2版本和v3版本的存储
都做了详细的介绍。最后重点介绍etcd服务端和客.户.端的相关内容,etcd服务端会组装井协调前面介绍的
各个组件,并且在它们的基础上扩展出了更多的功能,此外还详细分析v2和v3两个版本客.户.端的具体实
本书适合Go语言开发者,以及对etcd技术感兴趣的读者阅读。
未经许可,不得以任何方式复制或抄袭本书之部分或全部内容
版权所有,侵权必究
图书在版编目(c|P)数据
eted技术内幕/百里燊编著.一北京:电子工业出版社,2018
ISBN978-7-121-34386-5
I.①e…Ⅱ.①百…Ⅲ.①分布式存贮器Ⅳ.①TP3332
中guo版本图书馆CIP数据核字(2018)第122913号
责任编辑:陈晓猛
印刷:三河市华成印务有限公司
装订:三河市华成印务有限公司
出版发行:电子工业出版社
北京市海淀区万寿路173信箱
开本:787×9801/16
印张:2
版次:2018年7月第1版
印次:2018年7月第1次印刷
定价:89.00元
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系
联系及邮购电话010)88254888,8825888
质量投诉请发邮件至zts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com
本书咨询联系方式:010-51260888819,faq@phei.com.cn


etcd是一个可靠的分布式Kⅴ存储,其底层使用Raft算法保证一致性,主要用于共享配置
和服务发现。etcd是Cores公司发起的一个开源项目,其源代码地址为https://github.com
供配置共享和服务发现功能的组件还是比较多的,其中应用最广泛、大家最熟悉的
应该就是 ZooKeeper了,很多开源项目都在不同程度上依糢了 ZooKeeper,例如, Dubbo、 Kafka
在 golan社区中,etcd是唯一一个可以媲美 ZooKeeper的组件,在有些方面,etcd甚至超越了
Zo0 Keeper,给开发者眼前一亮的感觉
etcd作为一个优秀的分布式KV存储产品,其底层的eted-aft模块实现了Raft协议,可以
帮助开发者快速实现最终一致性功能。cted以其高性能、易维护、Raft实现等优点,受到越来
越多的开发人员的青睐,在 Gobang社区中声名大噪
etcd的代码中有很多亮点,为了提高整体性能,其实现中使用了大量的 goroutine和 Channel
cd3中开始使用 BoltDB作为底层的持久存储,使用 BTree索引加速查询,还提供了可靠的
atcher功能,同时提供了基于G.R.P.C.的新版本客.户.端。当然,etcd3依然兼容etcd2的_内.存_存
储和 Http api
ctcd3中有很多令人称赞的功能和优秀的设计,但至今还没有深入剖析etcd3的内部设计和
实现细节的图书,本书以etcd3为基础,详细分析了etcd的架构设计和实现细节,其中穿插介
绍了etcd源码中涉及的基础知识,以及笔者在实践中的思考
如何阅读本书
由于篇幅限制,本书并没有详细介绍Go语言的基础知识,但为了便于理解读者理解etcd
的设计思想和实现细节,笔者介绍了一些必需且重要的基础内容,例如,Go语言提供的HTTP
功能
本书共8章,主要从源码角度深入剖析etcd的原理和实现。建议读者先阅读前两章,了

IV|etcd技术内幕
Raf协议之后,再开始学习etcd的工作原理和代码实现
第1章简要介绍εtcd的背景知识及其基本的数据模型,然后介绍如何搭建源码环境及相关
的命令
第2章从基本的Raft协议开始介绍,帮助读者了解Raf协议的背景知识、大致工作原理、
如何处理各种异常场景,以及几个比较重要的扩展点
第3章着重分析etcd中的raft模块对Raft协议的实现,etcd-raft模块是etcd的核心模块之
GitHub上很多其他项目直接使用etcd-naft模块作为其Raft协议的底层实现。同时,本章也
介绍了etcd自带的 raftexample示例,帮助读者了解 etcd- raft模块的基本使用方法,方便读者在
实践中直接使用 etcd-raft模块
第4章简单介绍HTTP编程基础,以及εtcd-rafthttp模块的工作原理和具体实现,其中涉及
RoundTripper的基本原理、rafthttp,Transporter的实现及多种Handler的实理
第5章介绍etcd中如何处理WAL日志文件和快照数据文件,其中分析了WAL结构体和
napshotter的具体实现
第6章详细分析etcd的底层存储,对etdv2和 etcd v3两个版本的存储都做了详细的介绍
不仅分析了底层的KV存储,还分析了 watcher机制和 Lessor的实现原理
第7章重点介绍etcd服务端的内容,etcd服务端会组装并协调前面介绍的各个组件,并且
在它们的基础上扩展出了更多的功能
第8章主要介绍etcd客.户.端的相关内容,详细分析了v2和v3两个版本客.户.端的具体实现
如果读者在阅读本书的过程中,发现任何不妥之处,请将您宝贵的意见和建议发送到邮箱
shenbaili@163.com,也欢迎读者朋友通过此邮箱与我进行交流
致谢
感谢白酱陪我看过一盏盏亮起的路灯,感谢三十在技术上提供的帮助。
感谢电子工业出版社博文视点的陈晓猛老师,是您的辛勤工作让本书的出版成为可能。同
时还要感谢许多我不知道名字的幕后工作人员为本书付出的努力


#############################################


回复

使用道具 举报

伤心太平洋 | 2019-12-21 20:05:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则