乐趣区

关于存储:首个跨云元数据KV存储Xline正式进入CNCF沙箱

2023 年 6 月 13 日,云原生计算基金会(CNCF)发表 Xline 正式被纳入 CNCF 沙箱 (Sandbox)我的项目 。Xline 是由达坦科技(DatenLord)于 2022 年年底推出的开源我的项目,是一个用 Rust 语言写就的,用于元数据管理的分布式 KV 存储。

Xline 是 CNCF 首个跨云元数据 KV 存储我的项目。Xline 进入 CNCF 沙箱我的项目充沛表明, 在跨云畛域,达坦科技(DatenLord)的开源技术被寰球顶级开源基金会所认可 。而 Xline 作为一个开源中立的我的项目,将与 CNCF 社区独特倒退,助力云原生生态体系稳步迈入跨云时代。

Xline 的诞生

在单数据中心场景下,元数据的治理曾经有很多成熟的解决方案,etcd 就是其中的佼佼者,然而在多数据中心场景下,etcd 的性能受 Raft 共识协定的限度,它的性能和稳定性都大打折扣。随着互联网和云计算的业务规模越来越大,单个数据中心曾经无奈满足业务的需要,业务零碎从单数据中心向多数据中心倒退,多地多核心多活部署的需要也越来越广泛。

多数据中心架构最大的挑战是,如何保证数据跨数据中心拜访的一致性和性能。比方索引、权限、配置等这类须要跨数据中心共享拜访的元数据,如何在多核心竞争批改的场景下,依然能放弃一致性,并且保障拜访性能。Xline 由此应运而生。Xline 是一个开源的分布式的 KV 存储,用来治理大量的关键性数据,并在跨云跨数据中心的场景下依然保障高性能和数据强一致性

Xline 的特点

  • 一个分布式多集群 KV 存储引擎 :在多集群场景下实现对立数据管理,使互相拜访、发现和批改变得简略和不便。
  • 一个对立的元数据管理系统 :通过在内存中缓存热数据实现跨云数据拜访,并通过提供对立的数据管理来实现主动数据迁徙和备份。
  • 一个高性能的多数据中心共识协定 :它是第一个基于广域网共识协定的跨数据中心一致性治理服务器,解决了跨云交融和一致性的挑战。
  • 兼容 etcd 接口 :提供 KV 接口,多版本并发管制,同时与 K8S 兼容,让用户应用和迁徙更加晦涩。

Xline 的外围:Curp 共识协定

CURP 共识协定(Curp 共识协定的从新思考)的劣势是将非抵触的 proposal 达成共识所须要的 RTT 从 2 个降为 1,对于抵触的 proposal 依然须要两个 RTT,而 etcd 等支流分布式系统采纳的 Raft 协定在任何状况下都须要两个 RTT。

只管 Raft 很稳固,也很易于实现,但从客户的角度来看,它须要 2 个 RTT 来实现一个共识申请。一个 RTT 产生在客户端和领导者服务器之间,而领导者服务器须要另一个 RTT 将音讯播送给跟随者服务器。在广域网下的高提早环境中,一个 RTT 的运行工夫从几十到几百毫秒不等,两个 RTT 将是两个费时的过程。

两个 RTT 降为一个 RTT 所带来的性能晋升在单数据中心场景下体现的并不显著,然而在多数据中心或者跨云场景下,RTT 个别在几十到几百 ms 的数量级上,这时一个 RTT 的性能晋升则相当显著。

Xline 版本继续迭代

2023 年 5 - 6 月刚公布的新版本实现如下改良:

  • 通过引入批处理机制进步网络带宽利用率;
  • 为 CURP 共识协定实现快照性能;
  • 实现快照相干 API,且与 etcdctl 兼容。其余 etcdctl 保护中的 API 会在将来实现。
  • 增加 watch 进度告诉机制

在对 Xline 做 benchmark 测试中,咱们将 Xline 运行在多个 docker 镜像中,并通过 tc 来设置不同节点之间的网络提早,模仿真实世界下广域网的提早状况,具体的网络拓扑及 latency 大小可参考 Xline 测试网络拓扑。

基准测试报告也显示,Xline 在高网络提早的场景下,针对无抵触的并发 PUT 申请,Xline 在吞吐量靠近 etcd 的两倍,而在齐全抵触的状况下,Xline 的吞吐量则略低于 etcd。这足以证实 Xline 在高提早的广域网环境下可能比 etcd 有更好的性能体现。目前 Xline 还处在开发的晚期阶段,咱们也会在接下来的开发过程中,不断完善 benchmark 的测试用例,并晋升 Xline 在抵触状态下的性能。

在下一个版本 v0.5.0 当中,咱们打算减少如下个性:

  • 开始提供第一个基于 rust 版本 cmd line tool
  • 为 Xline 提供 k8s operator 来使其融入到 K8S 的生态当中
  • 晋升 Xline 相干 TXN 操作的性能

Together We Grow!

在此感激每一位参加的社区搭档对 Xline 的帮忙和反对,也欢送更多使用者和开发者参加体验和应用 Xline。咱们心愿失去你的参加和反对,你能够:

  • 退出 Xline Discord: https://discord.gg/XyFXGpSfvb
  • 在 GitHub 上点颗星:https://github.com/datenlord/Xline
  • 作为贡献者退出 Xline: https://github.com/datenlord/Xline/blob/master/CONTRIBUTING.md
  • 去 Xline 官网,浏览更多的技术干货:www.xline.cloud

达坦科技(DatenLord)专一下一代云计算——“天空计算”的基础设施技术,致力于拓宽云计算的边界。达坦科技打造的新一代开源跨云存储平台 DatenLord,通过软硬件深度交融的形式买通云间壁垒,实现数据高效跨云拜访,建设海量异地、异构数据的对立存储拜访机制,为云上利用提供高性能平安存储反对。以满足不同行业客户对海量数据跨云、跨数据中心高性能拜访的需要。

公众号:达坦科技 DatenLordDatenLord
官网:http://www.datenlord.io
知乎账号:https://www.zhihu.com/org/da-tan-ke-ji
B 站:https://space.bilibili.com/2017027518

往期举荐
1. Xline 长久化存储设计与实现

  1. 如何优雅地组织 Rust 我的项目中的异步代码
退出移动版