DatenLord | Xline Geo-distributed KV Storage

Xline是一款高性能跨云跨数据中心的分布式KV存储系统,旨在解决多数据中心部署下metadata管理难题。通过CURP共识协议,Xline能够在减少RTT的同时保持数据强一致性。针对CURP协议与etcd revision特性的兼容问题,Xline引入了两阶段提交机制,确保高性能及一致性。

 

简介和背景

随着分布式业务从单数据中心向多数据中心发展,多地多活部署的需求也越来越普遍。这带来最大的挑战就是跨数据中心跨地域的metadata管理,metadata对数据的稳定性和强一致性有极高要求。在单数据中心场景下,metadata的管理已经有很多成熟的解决方案,etcd就是其中的佼佼者,但是在多数据中心场景下,etcd的性能受Raft共识协议的限制,它的性能和稳定性都大打折扣。DatenLord作为高性能跨云跨数据中心的存储,对metadata管理有了跨云跨数据中心的要求。DatenLord目前使用etcd作为metadata的管理引擎,但是考虑到etcd无法完全满足DatenLord的跨云跨数据中心的场景,我们决定实现自己的metadata管理引擎。Xline应运而生,Xline是一个分布式的KV存储,用来管理少量的关键性数据,并在跨云跨数据中心的场景下仍然保证高性能和数据强一致性。考虑到兼容性问题,Xline会兼容etcd接口,让用户使用和迁移更加流畅。

Xline的架构

 

Xline的架构主要分为RPC server,KV server,其他server,CURP共识协议模块和Storage模块

  • RPC server:主要负责接受用户的请求并转发到相应的模块进行处理,并回复用户请求。
  • KV Server和其他server:主要业务逻辑模块,如处理KV相关请求的KV server,处理watch请求的watch server等。
  • CURP共识协议模块: 采用CURP共识协议,负责对用户的请求进行仲裁,保证数据强一致性。
  • Storage:存储模块,存储了key value的相关信息。

一次写请求的操作流程如下:

  • RPC server接收到用户写请求,确定是KV操作,将请求转发到KV server。
  • KV server做基本请求做验证,然后将请求封装为一个proposal提交给CURP模块。
  • CURP模块执行CURP共识协议,当达成共识后,CURP模块会调用Storage模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

达坦科技DatenLord

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值