Git Product home page Git Product logo

raft-concensus-implementation's Introduction

README - CS271 Project Part 2 - RAFT

Manu Gopinathan
Morten Flood


To run this project:

1. Server need every source file except client.py in directory to work.

2. In aws_instances input all your desired instances in the instances_list by their IP address. Each instance id will correspond to their index in the list.

3. In aws_instances input your desired port number.

4. Run the server with the argument "server id", which must correspond to the index in the instances_list and must be an int. Example "python server.py 0" to run the server on the instance corresponding to the first instance in the list.

5. Run client from anywhere. Client needs most of the files in directory to work.

6. Client commands:
	- 'lookup' : lookup to leader
	- 'lookup [id]' : lookup to server with same id
	- 'post [msg]' : post msg to leader
	- 'close' : close the client connection

7. Persistance: 
	Every instance saves the state of the server whenever log, term or voted_for is modified as a .pickle-object
	with name 'raft-state-server-[id].pickle'. So server 0 saves an object with name 'raft-state-server-0.pickle'

	To delete log do command 'rm raft-state-server-[id].pickle' in the same directory as the source files on the instance.

raft-concensus-implementation's People

Contributors

mortenflood avatar zlash92 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.