Search results for: xline


Interval tree implementation in Xline

Posted on July 17, 2024

The Reason for Implementing Interval Trees In a recent refactoring of Xline, we identified a performance bottleneck caused by two data structures on the critical path: the Speculative Pool and the Uncommitted Pool. These two data structures are…


Xline command Deduplication Mechanism (II) — RIFL implementation

Posted on May 30, 2024

Member post by DatenLord In the previous article, we started from why we need command deduplication mechanism, introduced the necessity of deduplication and some problems of the current deduplication mechanism of Xline, and explained the working principle of…


Early explorations and practices of Xline, a stateful application managed by Karmada

Posted on May 2, 2024

Member post by DatenLord Background and Motivation More and more IT vendors are now embracing cross-cloud multi-clustering as cloud-native technologies and cloud markets continue to mature. Here’s Flexera’s mid-2023 survey on the cloud-native market’s acceptance of multi-cloud, multi-cluster…


Analysis of Xline Jepsen tests

Posted on February 19, 2024 | By DatenLord

Member post by DatenLord Table of Contents Abstract In this article, we will mainly introduce the application of Jepsen in the testing of a distributed KV storage Xline. This includes an introduction to the chaos engineering framework Jepsen,…


Xline command deduplication mechanism (part one) — introduction to RIFL

Posted on January 19, 2024 | By DatenLord

Member post by DatenLord Why is deduplication of commands necessary?  In a system that receives external commands, it is common for a command to be executed at least once, which we refer to as at-least-once semantics. If a…


The design and implementation of the Xline persistent storage layer

Posted on June 28, 2023

Guest post by DatenLord Introduction In the early prototype phase of Xline, we used in-memory storage for data persistence. While this simplified the complexity of the Xline prototype design and speeded up the development and iteration of the…


Membership change source code interpretation

Posted on April 4, 2024 | By DatenLord

Member post originally published on Medium by DatenLord Background In distributed system application scenarios, it is inevitable to add or delete nodes or replace nodes, the simplest solution is to temporarily shut down the cluster, then directly modify…


CURP state machine engine

Posted on January 2, 2024 | By DatenLord

Member post by DatenLord In the previous article on code interpretation, we briefly explained how the CurpServer of Xline is implemented. Now, let’s delve deeper into some core data structures in the CurpServer, particularly the conflict_checked_channel and command…


Implementation of CURP Server

Posted on November 27, 2023

Member post by DatenLord In the previous article, An Introduction to the CURP Protocol, we gave a preliminary introduction to the CURP Protocol. Now, let’s continue from where we left off and delve into the internal workings of…


Mechanism and implementation of lease

Posted on November 1, 2023 | By Datenlord

Member post by Datenlord 1. Introduction Xline is an open source distributed KV storage engine for managing small amounts of critical data, with the aim of high performance data access and strong consistency across data centers. Xline provides…