美文网首页
2019-04-30

2019-04-30

作者: 杜子龙 | 来源:发表于2019-04-30 19:41 被阅读0次

    mvcc:
    etcd采用的是 "btree + bbolt"(类似leveldb的kv存储引擎)两级存储结构。在内存中使用btree维护key/value索引,节点存的是bbolt中的键值k,通过这个k在bbolt查找,得到的才是用户传进去的value值。
    etcd中有一个revision(修订)的概念,类似mysql的事务id,每次更新kv,revision就递增1。举个例子,假如当前etcd的revision=3,执行put("demo","abc"),revision就会变为4,更新btree["demo"] = "demo:4",更新bbolt["demo:4"] = "abc"。这样就更新了demo,也保留了demo的历史版本,比如,通过 bbolt["demo:2"] 可以访问到demo的历史版本。

    相关文章

      网友评论

          本文标题:2019-04-30

          本文链接:https://www.haomeiwen.com/subject/cbcbnqtx.html