Week 6 - Distributed Consensus

Distributed Systems and Network Programming - Spring 2023

Overview

Your task for this lab is to use RAFT algorithm to maintain consensus between 3 nodes in a P2P system. All nodes in the cluster need to maintain a consistent replicated log (list of strings).

Brief Algorithm Description

RAFT works in two phases: leader election and log replication.

Leader Election

Log Replication

Task

Example Run

Input

Output

Typical Run

typical_run

Split-vote case

split_vote

Dead leader

img

Dead follower

dead_follower

Checklist

Additional Notes