ETCD 源码学习--MVCC 代码实现(一)

在 ETCD 源码学习过程,不会讲解太多的源码知识,只讲解相关的实现机制,需要关注源码细节的朋友可以自行根据文章中的提示,找到相关源码进行学习。

主要文件

/mvcc/revision.go  mvcc 版本号存储定义

/mvcc/index.go 索引操作的对外接口定义和具体实现

/mvcc/key_index.go  key的版本管理及相关操作定义和具体实现

/mvcc/kv.go  kv接口定义

/mvcc/kv_view.go   readView 与 writeView 定义

/mvcc/kvstore.go   键值对存储对象的具体实例

/mvcc/kvstore_txn.go   键值对事务实现,readTxn/writeTxn

/mvcc/kvstore_compaction   kv压缩实现

backend/batch_tx.go  bbolt写事务实现

backend/read_tx.go   bbolt读事务实现

key 版本管理

/* 
mvcc/key_index.go
键值索引的版本控制
*/
type keyIndex struct {
	key      []byte   //客户端提供的原始 key 值
	modified revision  //最后
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值