Etcd控制标识介绍

名称含义
Raftetcd 使用的一致性算法
WAL预写 Log , 持久化数据, 防止节点重启等导致数据丢失
Snapshot快照, 数据更新超过阈值时, 会通过快照的方式来压缩 WAL 文件大小
MVCC多版本并发控制
DBboltdb / bboltdb , 实际存储 etcd v3 的数据
Revision版本号, 作为 etcd 数据的逻辑时钟
Auth revision鉴权操作所用的版本号, 为了避免 TOCTOU 问题引入
Propose发起一次 Raft 请求提案
Committed一半以上的节点同意这次请求后的状态, 此时数据可以被应用层 apply
Apply应用层实际将 Committed 的数据应用到 DB
Compact压缩历史版本数据
Defrag碎片整理, 压缩 etcd 的 db 存储大小
Endpoint客户端指定的 etcd 访问地址
Node组成 etcd 集群的节点
TermLeader 任期, 每进行一次 leader 选举 Term 会增加 1
Index单调递增, 每次经过 Raft 模块发起变更操作时由 leader 增加
CommittedIndex经过 Raft 协议同意提交的数据 Index
AppliedIndex已经被应用层应用的 Index
ConsistentIndex为保证不重复 Apply 同一条数据引入, 保证 Apply 操作的幂等性
ReadIndex通过 Raft 模块获取 leader 当前的 committedIndex

commitindex 指的是已经被大多数节点保存的日志的位置;

lastapplyindex 是这些被应用到状态机(KV存储)的日志的位置。只有日志被大多数节点 commit 之后, commitindex 才会被更新,之后才可以被 apply 。
读的时候,记录下此刻的 Commit Index 作为 Read Index ,然后一直阻塞等到 apply index >= read index 时,才允许去读取数据。

版本信息revision,以及keyindex,在默认不压缩的情况下,它会一直存在

https://blog.betacat.io/post/mvcc-implementation-in-etcd/
https://www.lixueduan.com/posts/etcd/12-mvcc-analyze/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值