
etcd源码笔记
文章平均质量分 59
相隔一个图书馆的距离
一个2023年7月刚参加工作的菜鸡,此博客充当工作笔记
展开
-
本etcd系列文章补充说明
最开始今年四月份读的是etcdv3.6的main分支的代码,最开始没注意,main分支代码是不断修改的,并且最开始对etcd不太了解,所以源码笔记有些理解不太准确,也可能略有错误,所以年底就回过头来重新复习一遍,重新阅读一遍,这次选的是etcd v3.5 release3.5.17,这次选的是一个stable的分支,源码流程和etcdv3.6大体流程几乎是没变的(etcd3.5 snapshot部分是采用复制整个数据库而etcdv3.6则只是简单记录一下集群状态,还有etcdv3.5少了个异步io线程),通原创 2024-12-04 12:11:19 · 557 阅读 · 0 评论 -
etcd-v3.5release-(3)-readIndexRead
笔记1:读操作包括两种,readIndex和serilizable,readIndex指一致性读,一旦a读到了数据x,那么a及a以后的数据都能读到x,readIndex读会先确认本leader是不是有效地leader,如果有效则记录此刻的commiteIndex作为confirmIndex,等到applyIndex>confirmIndex时就可以进行serilizable读了,而serilizableRead就是副本读,直接读leader的数据。原创 2024-12-04 12:04:22 · 517 阅读 · 0 评论 -
etcd-v3.5release-(2)-STM
a.b.c表示a文件里的b类的方法c,注意a不一定是包名,因为文件名不一定等于包名MVCC,全称Multi-Version Concurrency Control,即多版本并发控制,是数据库并发领域的一个基础概念,也是在一定业务场景下解决读写并发问题的一种思路,在数据库领域,并发控制是一个很具有挑战性的领域,除了MVCC,常见的并发控制方式还有乐观并发控制、悲观并发控制等。原创 2024-12-04 12:03:26 · 1301 阅读 · 0 评论 -
etcd-v3.5release-(1)-put
etcdv3.5 put源码流程原创 2024-12-04 12:02:15 · 537 阅读 · 0 评论 -
etcdv3.6源码---STM(软件事务内存)
本文描述了ETCD软件事务内存在服务器端的实现原创 2024-05-05 16:58:43 · 1019 阅读 · 0 评论 -
etcdv3.6源码流程---compact
因为treeIndex中包含所有的elemkey,所以压缩的思路就是先遍历整个treeIndex来进行压缩:没有被删除的elemkey就用最后一次写入的值来覆盖,然后把该elemkey对应的(revision,version)作为key保存到一个map keep中,被删除的key则不会保存到该map keep中,然后遍历数据库中所有key,如果该key即(revision,version)不在map keep中,那么就从数据库中删除该key,如果在,则跳过,然后就完成了整个压缩操作。原创 2024-05-05 12:14:52 · 637 阅读 · 0 评论 -
etcdv3.6源码流程---Get
文章记录了etcdv3.6 服务器处理客户端发来的读取请求的源码流程原创 2024-05-04 20:19:02 · 884 阅读 · 0 评论 -
etcd源码流程---调试环境的搭建
本文讲述了如何在windows机器上利用goland和vmware虚拟机搭建含有两个节点的etcd集群。搭建好后便可以方便的打断点,debug,学知识了原创 2024-05-04 17:17:36 · 641 阅读 · 1 评论 -
etcdv3.6源码流程---Put
etcd v3.6 源码笔记----put流程。分析了etcd put的来龙去脉,对了解etcd架构,etcd是如何使用raft的很有帮助。这边建议copy到本地阅读,因为csdn阅读界面不友好原创 2024-05-04 17:01:59 · 333 阅读 · 0 评论