美文网首页
etcd简要使用

etcd简要使用

作者: Wu杰语 | 来源:发表于2021-10-19 21:31 被阅读0次

    etcd定义

    etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines.
    从定义可以看到,etcd是一个key-value型存储,具有强一致性

    • strongly consistent,
    • distributed key-value store

    etcd的命令行操作

    etcd的客户端有etcdctl、etcd-go、etcd-java,其中etcdctl是etcd自带的命令行工具,其主要命令有

    etcdctl put key value // 存储一对keyvalue
    etcdctl get key          // 获取某key对应的value
    etcdctl get key1 keyN //获取[key1, keyN)范围的数据,注意是左开右闭
    etcdctl get key --prefix // 获取某前缀数据
    etcdctl watch key         // watch某key,如有变化收到事件通知
    etcdctl watch key --prefix //  watch某前缀的key,如有变化收到事件通知
    etcdctl tnx -i (if else if ) // 处理事务
    etcdctl lease grant 60 // 设置租约60秒,返回租约id
    etcdctl put --lease=leaseid key value // 在lease上绑定key value,当lease满未续租,则key value失效
    

    etcd数据存储

    etcd的数据是按照B+树的方式组织,并按照MVCC的思想存储数据,也就是数据按照多个版本存储,每个版本都有一个版本号,当数据更新时,并非更新原有数据,而是再存储一条新版本号数据。

    在内存中,实际上有两个B+树,一个存储key到revison的映射,一个存储revison和value的映射。当进行get的时候,先到key-revison映射中查找revison,如果未制定版本号,就取最新的revison,然后用revison到revison-value的B+树查找value。

    为什么要用B+树,因为要支持范围查找。

    小结

    本文总结etcd的简要使用,下篇再对底层原理进行解析。

    相关文章

      网友评论

          本文标题:etcd简要使用

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