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:
- Improve the readability of boot up errors in Xline #330
- [Bug]: Wrong version from help #327
- [Refactor]: Merge entries and batch_index #256
- 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
往期举荐
- Xline 长久化存储设计与实现
- Xline v0.4.0: 一个用于元数据管理的分布式 KV 存储
- 从云计算到天空计算(一)
- 从云计算到天空计算(二)
Xline 是一个用于元数据管理的分布式 KV 存储。Xline 我的项目以 Rust 语言写就,欢送大家参加咱们的开源我的项目!
GitHub 链接 :https://github.com/datenlord/Xline
Xline 官网: www.xline.cloud
Xline Discord :
https://discord.gg/XyFXGpSfvb