{"@attributes":{"version":"2.0"},"channel":{"title":"BusyJay","link":"https:\/\/busyjay.com\/","description":"Recent content on BusyJay","generator":"Hugo -- gohugo.io","language":"en-us","lastBuildDate":"Fri, 02 Aug 2024 01:00:00 +0800","item":[{"title":"Extending Raft algorithm: Learner, Part 1","link":"https:\/\/busyjay.com\/post\/learners-joint-consensus\/","pubDate":"Fri, 02 Aug 2024 01:00:00 +0800","guid":"https:\/\/busyjay.com\/post\/learners-joint-consensus\/","description":"Raft is one of the well known and implemented consensus algorithms. It is very easy to understand and implement due to its explicit leader role, election and builtin configuration change. The original algorithm is sufficient in most cases, but we still need to extend the algorithm to meet complicated requirements. For example, when adding a new member to a raft group with 3 members, the new node may not have enough logs to start taking part in helping leader commit logs."},{"title":"How to implement reliable and efficient leader lease","link":"https:\/\/busyjay.com\/post\/impl-lease\/","pubDate":"Thu, 11 Apr 2024 15:10:23 +0800","guid":"https:\/\/busyjay.com\/post\/impl-lease\/","description":"I have been designing a timestamp service recently. During a discussion, I learned that the previous system may have clock drift problem due to incorrect lease. This is actually a very typical problem, so I write an article to discuss how to implement a reliable leader lease.\nWhat is a leader lease? In a distributed system, consensus algorithms like Raft and Paxos are used to provide consistency. These algorithms make proposals persistent in quorum to ensure a committed proposal will not be lost."},{"title":"About","link":"https:\/\/busyjay.com\/about\/","pubDate":"Thu, 11 Apr 2024 14:52:56 +0800","guid":"https:\/\/busyjay.com\/about\/","description":"I&rsquo;m a coder, rustocean.\nI focus on distributed databases.\nI am a maintainer of TiKV."},{"title":"Archives","link":"https:\/\/busyjay.com\/archives\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/busyjay.com\/archives\/","description":"archives"}]}}