etcd在kubernetes集群中,作为一个核心的存储组件,具有举足轻重的地位。

本书分为三个部分: 理论介绍、源码实战、应用运维。

第一章介绍分布式系统的一些核心概念,包括分布式系统CAP理论,分布式系统网络通信,分布式存储一致性等一系列的概念。 当然,为了避免文字枯燥的表达,作者将尽量采用图表的方式解释。

第二章主要描述etcd本身的架构。 在解析etcd架构的时候,我会结合后续源码,从整体架构到其中每一个组件的核心功能,进行更为深入,细致的拆分。 目的是争取能将整个架构拆解到大家都能实现的地步。 在前两章的基础上。

第三章讲解etcd的部署,通过单机以及多机两种部署方式,实际感受下etcd的魅力所在,也为后面的章节做好铺垫。

第四章可以说是最重心的一章。 因为这一章,我们直面go语言,直面etcd源码,通过etcd提供的代码,来利用raft算法实现一个简单版本的分布式kv存储数据库。然后在这个基础上,进一步对etcd进行拆解,直达etcd内部,包括raft协议的实现,mvcc多版本并发控制, 内存B-tree索引,boltdb数据持久化,watch机制,分布式事务等一系列的核心概念。

在整个过程中,作者通过将各个模块拆分的方式,讲解每一个模块的用法以及实现, 包括写一个实用的程序代码,以及为各个模块写单元测试。 理解了源码,相信对于etcd的应用案例也就了然于胸了。

第五章重点介绍使用案例,包括分布式队列,分布式锁,分布式kv,配置中心等。

第六章简单讲解下日常的运维与监控问题

最后一章作为总结。

etcd源码剖析 | #电子书
 
 
Back to Top