仓库 地址
李刚、孙兴、路晓梦
etcd 天然支持分布式、高可用,支持集群,并且在 K8s 等领域有大量的应用实践。
etcd 基于 BoltDB,容量具有上限,这些自身的架构问题,导致etcd在数据存储方面有缺陷。
作为适配中间层,kine项目完整地实现了 etcd 需要支持的 watch 功能,且模拟了 etcd 的 MVCC 特性,支持 Compact。
适配层
-
事件接受器 通过发送通道,用户可以反馈事件给适配层。
-
对象监听器 监听服务对每一次的请求进行转发。
后端模块
- B树实现基础服务后端接口,每一次的变更、写入、更新或者删除在TiDB 里就是一行数据。
- 每行数据的主键就是 etcd 的 Revision,也就是计数器,记录最新变更的次数。
- 通过这种方式, 实现了多版本的支持
配置中心
- 配置文件 数据库的安全证书及配置项,连接配置文件,配置更改应用。