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。
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/p/xline

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。