Xline: A geo-distributed KV store for metadata management

41 points withywhy

What is it?

Xline is a geo-distributed KV store for metadata management, which is based on the Curp protocol.

Why make it?

Existing distributed KV stores mostly adopt the Raft consensus protocol, which takes two RTTs to complete a request. When deployed in a single data center, the latency between nodes is low, so it will not have a big impact on performance.

However, when deployed across data centers, the latency between nodes may be tens or hundreds of milliseconds, at which point the Raft protocol will become a performance bottleneck. The Curp protocol is designed to solve this problem. It can reduce one RTT when commands do not conflict, thus improving performance.

What does it provide?

  • Etcd Compatible API
    • Kv service
    • Watch service
    • Auth service
  • basic implementation of the Curp protocol
  • basic Xline client (use Curp directly)
  • benchmark tool

Performance Comparison

We compared Xline with Etcd in a simulated multi-cluster environment. The throughput of Xline is 2 times that of Etcd in the 100k key throuput(ops) test case.

Details of the deployment and performance test results is here. It's easy to tell Xline has a better performance than Etcd in a geo-distributed multi-cluster environment.

Note

In this release, we only provide binary files for X86\_64 linux. Other platforms need to be compiled by yourself. we will add more support in the future.

Links