
Golang
860MHz
这个作者很懒,什么都没留下…
展开
-
etcd源码阅读笔记(二)backend
1. 简介 etcd的backend模块对于底层存储引擎进行了抽象,默认使用上一篇文章中介绍的BoltDB。 etcd将键值对的每一个版本都存储在BoltDB中,并在内存中构建BTree keyIndex索引。 在BoltDB中存储数据的key是revision,revision包含两个id:main revision和sub revision;main revision每个事务加1,sub revision事务中的每次操作加1; keyIndex索引的key是键值对的key,value是revisio原创 2020-05-11 18:21:31 · 692 阅读 · 0 评论 -
etcd源码阅读笔记(一)存储引擎
1. 简介 etcd是一个分布式高可用的键值对存储,主要聚焦于以下能力: 简单,通过gRPC调用 安全,支持TLS 快速,支持每秒10000次写入 高可用,采用Raft算法,实现了CP etcd v2在实际应用中遇到了一些问题,如基于内存、没有提供事务、对于watcher兼容不佳等。 因此v3版本存储进行了大量优化: 将backend store抽象,支持多种不同存储,默认是BoltDB 基...原创 2020-04-25 18:28:29 · 817 阅读 · 0 评论