/raft

This repository stores the implementation of Raft algorithm using python, java, rabbitMQ and redis.

Primary LanguageJava

#CMPE 273 Group Project - Fall 2016 Project Team - CodeMonks

#Team Members

  1. Nitinkumar Gove
  2. Sushant Vairagade
  3. Sohrab Ali
  4. Saurabh Gedam

#Objective To implement raft distributed consensus algorithm along with graphical visualization of cluster node states and data replication mechanism across all the cluster nodes.

#How to

  1. Start the RabbitMQ service
  2. Start RedisDB
  3. Build server code using below maven command
    mvn clean install
  4. Execute the generated jar file using below command:
    java -jar raft-consensus-{version}.jar -ip {host} -p {port}
    eg. java -jar raft-consensus-1.0-SNAPSHOT.jar -ip localhost -p 8080
    You can execute as many servers as you wish they will add themselves to the cluster.
  5. Use Pyhton file "ClientTest.py" to perform operation as a client
  6. You can run the "index.htm" to get the live status of the nodes

#Demo Watch Demo Here

#Project Requirements

  1. Java
  2. Redis
  3. RabbitMQ
  4. Python

#References

  1. Introduction to Raft
  2. Raft Visualization
  3. In Search of an Understandable Consensus Algorithm