Skip to content

Jrokisky/chord_protocol_go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chord Protocol Implementation + Web Visualizer in Go using ZeroMQ

Background

Authors

Disclaimer

This was a semester project completed on a deadline, so there are likely bugs.


Instructions

  1. Clone/download/unzip the project repository into the src folder of your go development folder
  2. Run go build ./main.go from the root of the project directory
  3. Run ./main
  4. Try it out at http://localhost:8080/visualize

Visualizer

Table

  • table of Node data ranked by their id
  • The columns represent the Successor, Predecessor, and Finger table entries
  • The operations are to Join, Orderly Leave, and leave
  • You may need to click some of the links more than once

Buttons

  • The textfield next to the "Add Nodes" button can be used to add a set number of nodes. (10 is a good starting number)
  • The "Random Join" button will have a node randomly join

Chart

  • Nodes are draw on the cicle based on their id
  • When nodes are not in the ring, they are red
  • When nodes are in the ring, they are green
  • The blue line represents a successor
  • The red lines represent finger table entries
  • If you look closely at the lines, you'll notice that some of the lines don't touch their target. This is intended. The end where the line does not touch the circle is the end (aka the target).

About

Implementation of the Chord Protocol in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published