KV型分布式元数据存储管理-Xline
2023-06-30 21:56:58 阿炯

本站赞助商链接,请多关照。 Xline 是一个面向多集群的高性能分布式键值存储引擎。可以为多集群场景提供统一的数据管理,使相互访问、发现、修改变得简单方便。它还提供 KV 接口、多版本并发控制并兼容 etcd 和 K8S。其是第一个基于 CURP(一种 WAN 共识协议)的地理分布式一致性管理服务,解决了跨云融合和一致性的挑战。采用Rust开发并在ApacheV2协议下授权使用。


Xline is a geo-distributed KV store for metadata management.

它提供以下功能:
etcd 兼容 API,兼容 K8s。
地理分布式友好部署。

该项目针对多数据中心场景,旨在实现高性能的多云元数据管理解决方案,这对于具有地域分布式、多活部署需求的企业至关重要。


主要特点:
一种面向多集群的分布式 KV 存储引擎。多集群场景的数据统一管理,相互访问、发现、修改简单便捷。
统一的元数据管理系统。通过将热点数据缓存在内存中进行跨云数据访问,并提供统一的数据管理,实现数据迁移和备份的自动化。
高性能多数据中心共识协议。它是第一个基于 WAN 共识协议的地理分布式一致性管理服务。它解决了跨云融合和一致性的挑战。
兼容 ETCD 接口。提供 KV 接口,多版本并发控制,兼容 K8S。



Xline 由以下层组成:

1.客户端层:提供简单易用的 API 供客户端使用,可以大大降低使用 Xline 进行业务的复杂度。后续版本将实现不同语言的 Xline 客户端,目前 Xline API 与 etcd 兼容,可以使用 etcdctl 发起请求。

2.接入层:接入层主要包括客户端到服务器或者服务器到服务器之间的通信协议。Xline API 基于 gRPC 协议。

3.CURP 协议层:CURP 协议层实现了 Leader 选举、日志复制、快路径和慢路径等核心算法功能,用于保证 Xline 多节点之间的数据一致性,提高服务可用性。CURP 协议是 Xline 的基石和亮点。

4.功能逻辑层:该层实现 Xline 业务逻辑,包括典型的 KV Server、Auth Server、Lease Server 和 Watch Server 等。Client 通过接入层向 Xline Server 发送请求,Xline Server 将请求调度到特定服务器执行。

5.存储层:该层包含两个组件,Index 和 DB,其中 Index 基于 BTreeMap,DB 主要负责数据的持久存储。目前 Xline 还处于开发初期,所以 DB 主要是基于内存实现的。我们将在下一版本中引入持久存储。


最新版本:0.4


项目主页:https://github.com/xline-kv/Xline