Xline用于元数据管理的分布式 KV 存储
Xline是一个面向多集群的高性能分布式键值存储引擎。可以为多集群场景提供统一的数据管理,使相互访问、发现、修改变得简单方便。它还提供KV接口、多版本并发控制并兼容etcd和K8S。
Xline 是第一个基于 CURP(一种 WAN 共识协议,请阅读论文了解更多详细信息)的地理分布式一致性管理服务。它解决了跨云融合和一致性的挑战。
它提供以下功能:
- etcd 兼容 API。
- 地理分布式友好部署。
- 兼容K8s。
该项目针对多数据中心场景,旨在实现高性能的多云元数据管理解决方案,这对于具有地域分布式、多活部署需求的企业至关重要。
Xline 实例由以下层组成:
- 客户端层:提供简单易用的API供客户端使用,可以大大降低使用Xline进行业务的复杂度。后续版本将实现不同语言的 Xline 客户端,目前 Xline API 与 etcd 兼容,可以使用 etcdctl 发起请求。
- 接入层:接入层主要包括客户端到服务器或者服务器到服务器之间的通信协议。Xline API 基于 gRPC 协议。
- CURP协议层:CURP协议层实现了Leader选举、日志复制、快路径和慢路径等核心算法功能,用于保证Xline多节点之间的数据一致性,提高服务可用性。CURP协议是Xline的基石和亮点。
- 功能逻辑层:该层实现Xline业务逻辑,包括典型的KV Server、Auth Server、Lease Server和Watch Server等。Client通过接入层向Xline Server发送请求,Xline Server将请求调度到特定服务器执行。
- 存储层:该层包含两个组件,Index和DB,其中Index基于BTreeMap,DB主要负责数据的持久存储。目前Xline还处于开发初期,所以DB主要是基于内存实现的。我们将在下一版本中引入持久存储。
主要特点:
- 一种面向多集群的分布式KV存储引擎。多集群场景的数据统一管理,相互访问、发现、修改简单便捷。
- 统一的元数据管理系统。通过将热点数据缓存在内存中进行跨云数据访问,并提供统一的数据管理,实现数据迁移和备份的自动化。
- 高性能多数据中心共识协议。它是第一个基于WAN共识协议的地理分布式一致性管理服务。它解决了跨云融合和一致性的挑战。
- 兼容ETCD接口。提供KV接口,多版本并发控制,兼容K8S。
评论