Xline是什么?咱们为什么要做Xline?

Xline是一个基于Curp协定的,用于治理元数据的分布式KV存储。 现有的分布式KV存储大多采纳Raft共识协定,须要两次RTT能力实现一次申请。当部署在单个数据中心时,节点之间的提早较低,因而不会对性能产生大的影响。

然而,当跨数据中心部署时,节点之间的提早可能是几十或几百毫秒,此时 Raft 协定将成为性能瓶颈。Curp 协定就是为了解决这个问题而设计的。它能够在命令不抵触的状况下缩小一个RTT,从而进步性能。因而, Xline旨在实现高性能的数据拜访和跨数据中心场景下的强一致性。

V0.4.1版本有什么新性能?

v0.4.1新版本性能、修复问题以及重构如下:

性能

  • 减少察看进度告诉机制(issue#309),在pr#278 中解决。

修复谬误

  • 修复一个BUG #285,即在集成测试中,cmd_worker会呈现panic,在pr #286中解决。
  • 修复一个BUG #291,即集成测试案例 "test\_kv\_authorization "在某些状况下会阻塞,在pr #292中解决。
  • 修复一个bug #252,即通过发送SIGINT信号终止xline客户端后,xline客户端的工作会出现异常,在pr #255中解决。
  • 修复bug #284和#303,即集成测试用例 "test\_lock\_timeout "会呈现panic,并且锁的验证测试会阻塞,在pr #312中解决。

重构

  • 重构\`XlineServer\`,将一些微小的构造和办法分解成小的构造和办法,进步可读性(issue#293),在pr #294中解决。
  • 重构curp疾速读取实现(issue#270),在pr #297中解决。
  • 改良 "RocksSnapshot "的读写逻辑(issue#263),在pr#264中解决。
  • 重构watch服务器的实现(issue#253),在pr#262、#268、#278中解决。
  • 重构kv服务器的实现(issue#250),在pr #260中解决。
  • 重构lease服务器的实现(issue#251),在pr #276中解决。
  • 应用更好的办法来生成stream(issue#248),在pr #249中解决。

欢送参加到Xline我的项目中

咱们欢送任何对于Xline的踊跃奉献。目前在GitHub上有些工作并不需要深刻理解Curp协定或Xline这个我的项目,只须要理解API和Rust语言即可。即便您现处于入门阶段,并想要在开源我的项目中应用Rust语言,社区也会提供领导和帮忙,来疏导您更好地参加我的项目。

目前Xline提供 如下4个 good first issue

  1. Improve the readability of boot up errors in Xline #330
  2. [Bug]: Wrong version from help #327
  3. [Refactor]: Merge entries and batch_index #256
  4. Use a unique propose id #219

Xline的建设须要每一位对此感兴趣且违心付出的你们的参加,咱们期待你们的退出。

相干链接

· GitHub : https://github.com/datenlord/Xline

· Curp相干论文 :

https://www.usenix.org/system/files/nsdi19-park.pdf

· Curp相干文章 :

https://medium.com/@datenlord/curp-revisit-the-consensus-prot...

· Xline官网 : www.xline.cloud

往期举荐

  1. Xline 长久化存储设计与实现
  2. Xline v0.4.0: 一个用于元数据管理的分布式KV存储
  3. 从云计算到天空计算(一)
  4. 从云计算到天空计算(二)

Xline是一个用于元数据管理的分布式KV存储。Xline我的项目以Rust语言写就,欢送大家参加咱们的开源我的项目!

GitHub链接 : https://github.com/datenlord/Xline

Xline官网: www.xline.cloud

Xline Discord :

https://discord.gg/XyFXGpSfvb