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