Symmetry (May 2022)

Raft-PLUS: Improving Raft by Multi-Policy Based Leader Election with Unprejudiced Sorting

  • Jinjie Xu,
  • Wei Wang,
  • Yu Zeng,
  • Zhiwei Yan,
  • Hongtao Li

DOI
https://doi.org/10.3390/sym14061122
Journal volume & issue
Vol. 14, no. 6
p. 1122

Abstract

Read online

Raft is a fast, scalable, understandable consensus algorithm widely used in distributed systems. The Leader handles client requests and interacts with other servers to reach a consensus, so a stable, reliable, and powerful Leader is crucial for the cluster. We designed a policy-based voting mechanism to make the elected Leader as reliable as possible. In order to improve the asymmetric relationship between the Followers and Leader, we designed a mechanism to trigger a new round of the election actively so that the Leader node can actively transform into a Follower under certain conditions and enhance the symmetry between servers. Our proposed Raft-PLUS algorithm makes the elected Leader as reliable as possible through four election policies and designed three opposition policies to trigger a new round of the election. To verify the effectiveness of the Raft-PLUS algorithm, we configure different election and opposition policies on 12 servers to simulate the election and opposition process of the Leader and explain the process. To demonstrate the advantages of the Raft-PLUS algorithm, we built key-value stores based on Raft and Raft-PLUS, and we tested the performance of Raft-PLUS and the Raft algorithm in normal and abnormal states. Experimental results show that the Raft-PLUS algorithm has similar write throughput to the Raft algorithm under normal conditions. Regarding the quality of the Leader network changes, the average write throughput of the Raft-PLUS algorithm is 40% higher than that of the Raft algorithm. The Leader’s CPU usage fluctuated; the average write throughput of Raft-PLUS was 38% higher than Raft.

Keywords