Skip to content

rohithr018/mini-raft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Load Balancer - Setup & Usage Guide

Mini RaFT-Consensus (Reliable and Fault-Tolerant)


Implemented Features

  • Simulates leader, candidate, and follower nodes in a distributed cluster.
  • Supports voting and leader election among candidate nodes.
  • Implements leader crash and recovery, demonstrating fault tolerance.
  • Tie resolution: automatic revoting if multiple candidates receive the same maximum votes.
  • Configurable number of nodes, number of candidates, and crash timing.

Local setup

1. Clone the Repository

  • clone

    git clone https://github.com/rohithr018/mini-raft.git
  • change directory

    cd mini-raft

2. Configure Nodes

  • Adjust Number of Nodes at main.go file

      numberOfNodes := X          //Total Number of Nodes in the System
      numberOfCandidates := Y     //Number or Candidate Nodes(must be lessthan numberOfNodes)

3. Run simulation

  • Run the main file:

    go run main.go

4. Reference

  • Terminal Images

    • Initial Node Status

      Initial Node Status
    • Normal Election Scenario

      Normal Election Scenario
    • Tie Election Scenario

      Tie Election Scenario
  • Output File

About

Raft like distributed voting system

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages