This project is an implementation of the Raft consensus algorithm. Raft is a consensus protocol designed for managing a replicated log and achieving consensus across a cluster of nodes in a distributed system. The protocol ensures that all nodes agree on the same sequence of log entries, even in the presence of failures.
The Raft consensus algorithm provides the following key features:
Leader Election: Nodes in the cluster elect a leader that coordinates log replication.
Log Replication: The leader receives client requests, appends them to its log, and replicates them to other nodes.
Safety: The protocol ensures safety properties, including a guarantee that once a log entry is committed, all future leaders will have that entry in their logs.