Everything about Raft (algorithm)
Consensus algorithm
Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms. It was meant to be more understandable than Paxos by means of separation of logic, but it is also formally proven safe and offers some additional features. Raft offers a generic way to distribute a state machine across a cluster of computing systems, ensuring that each node in the cluster agrees upon the same series of state transitions. It has a number of open-source reference implementations, with full-specification implementations in Go, C++, Java, JavaScript, and Scala. It is named after Reliable, Replicated, Redundant, And Fault-Tolerant. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Raft (algorithm)A 5-minute orientation
- Skim a recent paper: Cell Based Raft Algorithm for Optimized Consensus Process on Blockchain in Smart Data MarketInfluential work since 2022
- Pick up a classic book: Delivery planning by modular algorithmsThe most-reprinted book on the subject
- Read the landmark paper: Performance Analysis of the Raft Consensus Algorithm for Private BlockchainsCited 275 times
- Go sideways: State machine replicationA closely related topic
- Go sideways: Multi-master replicationA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Performance Analysis of the Raft Consensus Algorithm for Private Blockchains
An Improved Blockchain Consensus Algorithm Based on Raft
Marine floating raft aquaculture extraction of hyperspectral remote sensing images based decision tree algorithm
Modeling of RAFT Polymerization Processes Using an Efficient Monte Carlo Algorithm in Julia
VSSB-Raft: A Secure and Efficient Zero Trust Consensus Algorithm for Blockchain
RaBFT: an improved Byzantine fault tolerance consensus algorithm based on raft
Mechanical characteristics analysis and control algorithm for floating raft system with mass variation
Double‐layer Byzantine fault‐tolerant grouping consensus algorithm based on raft
🆕 Influential since 2022
Cell Based Raft Algorithm for Optimized Consensus Process on Blockchain in Smart Data Market
Improvement of Hierarchical Byzantine Fault Tolerance Algorithm in RAFT Consensus Algorithm Election
Multi‐strategy‐based leader election mechanism for the Raft algorithm
PB-Raft: A Byzantine fault tolerance consensus algorithm based on weighted PageRank and BLS threshold signature
Hybrid Raft-PoW Blockchain Consensus Algorithm
📚 Books worth reading
- 📕Delivery planning by modular algorithmsOle Michael Raft · 1981
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- State machine replication In computer science, state machine replication (SMR) or state machine approach is a general method for implementing a fault-tolerant service by replicating…
- Multi-master replication Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group…
- Paxos (computer science) In computer science, Paxos is a family of protocols for solving consensus in a network of unreliable or fallible processors. Consensus is the process of…
- TiDB TiDB (/ˈtaɪdiːbiː/; "Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads…
- Couchbase Server Couchbase Server, originally known as Membase, is a source-available, distributed (shared-nothing architecture) multi-model NoSQL document-oriented database…
- Replication (computing) Replication in computing refers to maintain multiple copies of data, processes, or resources to ensure consistency across redundant components. This fundamental…
- Distributed SQL A distributed SQL database is a single relational database which replicates data across multiple servers. Distributed SQL databases are strongly consistent…
- MySQL Cluster MySQL Cluster, also known as MySQL NDB Cluster, is a technology providing shared-nothing clustering and auto-sharding for the MySQL database management…