Xline v0.6.0: 一个用于元数据管理的分布式KV存储

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

**Xline 是一个基于 Curp 协议的,用于管理元数据的分布式 KV 存储。**现有的分布式 KV 存储大多采用 Raft 共识协议,需要两次 RTT 才能完成一次请求。当部署在单个数据中心时,节点之间的延迟较低,因此不会对性能产生大的影响。

但是,当跨数据中心部署时,节点之间的延迟可能是几十或几百毫秒,此时 Raft 协议将成为性能瓶颈。Curp 协议就是为了解决这个问题而设计的。它可以在命令不冲突的情况下减少一个 RTT,从而提高性能。因此,Xline 旨在实现高性能的数据访问和跨数据中心场景下的强一致性。

V0.6.0 版本有什么新功能?

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

⭐新功能

  • 为 CUPR 共识协议添加成员变更机制(详情请阅读设计文档 #306)
  • 实现 cluster server 和 client #464、#465
  • 实现优雅关机功能。
  • 实现 xlinctl 与 xline 集群通信。目前,xlinectl 包括以下功能:
  • Compaction 和 member 命令:已在 pr #484 中实施
  • Txn、watch 和 lock 命令:在 pr #428 中实现
  • Role 命令:在 pr #427 中实现
  • User 命令 :在 pr #426 中实施
  • Snapshot 和 auth 命令:在 pr #425 中实施
  • Delete 和 lease 命令:在 pr #424 中实施

Bug 修复

  • benchmark client 无法连接服务器 #462
  • 删除模拟测试中的停止 #458
  • 执行顺序错误 #454
  • 检查领导者的密码 #435
  • 移除 uncommitted pool 的恢复逻辑 #419
  • CURP TLA+ 法定人数大小计算和属性检查 #418
  • 修复 propose 不处理同步错误 #407

️ 重构

  • 减少代码重复 #407
  • 考虑 TLA+ 中请求广播的交错状态 #429
  • 完善 bench client 的实现 #496
  • 简化错误处理逻辑 #480
  • 提高启动错误的可读性 #432
  • 在执行和同步后引入命令序列化 #421, #422

❤️ Contributors

@EAimTY

@MarkGaox

@Kikkon

已知问题:如果在添加成员后立即关闭群集,领导节点可能无法正常关闭,会不断尝试向关闭的新节点发送条目。详情请阅读 #526 号问题。

往期推荐

1.Xline v0.5.0: 一个用于元数据管理的分布式 KV 存储

  1. Xline 源码解读(四)------ CURP 状态机引擎

  2. 首个跨云元数据 KV 存储 Xline 正式进入 CNCF 沙箱

Xline 于 2023 年 6 月加入 CNCF 沙箱计划 ,是一个用于元数据管理的分布式 KV 存储。Xline 项目以 Rust 语言写就。感谢每一位参与的社区伙伴对 Xline 的帮助和支持,也欢迎更多使用者和开发者参与体验和使用 Xline。

GitHub 链接:

++https://github.com/xline-kv/Xline++

Xline 官网: ++www.xline.cloud++

Xline Discord:

++https://discord.gg/XyFXGpSfvb++

相关推荐
ly76891 天前
Redis 分布式锁的边界条件:Redlock 争议、锁续期与客户端崩溃后的互斥失效
数据库·redis·分布式·分布式锁·watchdog·redlock
灯澜忆梦1 天前
【minio】#5 | MinIO 分布式部署 + HTTPS 部署
分布式·网络协议·https·对象存储·minio
谢亮_vipxieliang2 天前
Spring Cloud 服务治理入门:注册发现、配置中心、网关限流、熔断降级与分布式一致性方案
分布式·spring·spring cloud
樱花落木兰2 天前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
ShineWinsu2 天前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
Flynt3 天前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
JosieBook3 天前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
梦帮科技3 天前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
Frank_refuel3 天前
分布式RPC框架实战(二):服务端模块划分与底层设计
分布式·网络协议·rpc