etcd内部机制学习总结

个人习惯把etcd拆解,划分一下几个模块:


对外接口模块:主要是通过grpc来对外实现通信。

raft模块:主要作用是使etcd构成的集群对外看起来是一个整体,提供所谓的分布式存储的功能。raft在etcd中的实现介绍比较好的 文章为:https://www.jianshu.com/p/5aed73b288f7

wal模块:预写日志模块。主要作用是提供数据在存储之前,先写入日志功能,便于故障恢复。内部还可以继续分为日志和快照两部分。日志部分为真实数据日志记录,快照部分为定时为日志部分生成快照,避免日志记录过多导致磁盘写满。

存储模块:etcd把key索引存储在内存中,把value执行为落盘。采用的mvcc机制实现的存储模块。这方面介绍比较好的文章是:https://mp.weixin.qq.com/s?__biz=MzAxMTA4Njc0OQ==&mid=2651442478&idx=2&sn=05a3ec4991f1f38cc7f8d47b4927422e&scene=21#wechat_redirect

补充:

etcd工作流程说明比较好的文章为:https://zhuanlan.zhihu.com/p/54996432

etcd租约介绍比较好的文章:https://my.oschina.net/u/4300698/blog/3382491

etcd的watch机制介绍比较好的文章:https://segmentfault.com/a/1190000021787055

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容