Skip to content

flopezluis/gossip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gossip

This project is based on "A Gossip-Style Failure Detection Service" https://www.cs.cornell.edu/home/rvr/papers/GossipFD.pdf.

In the paper once a member has been declared faulty, it's removed from the membership list when t-cleanup has expired. T-cleanup is normally 2 X t-fail, that's why in my implementation t-cleanup is not an option in the config.edn, because I'm using 2 X t-fail directly.

I've also added the paremeter fanout, in the paper in each cycle each member gossiped with one member.

The idea is simple, in each node you should setup the initial nodes and the parameters. A configuration file must have: { :initial-nodes [ {:address "127.0.0.1" :port 5555 :local true} {:address "127.0.0.1" :port 5556} {:address "127.0.0.1" :port 5557} ] :t-fail 5000 :cycle 1000 :fanout 2 }

In members/active-nodes you can get the view of this node.

##Usage

Start up a node with: lein run -c config.edn

If you can test it in your machine you can start three nodes with different ports.

$ lein run -c config-5555.edn
$ lein run -c config-5556.edn
$ lein run -c config-5557.edn

License

Copyright © 2016 Félix López Luis

Distributed under the MIT License

About

Gossip protocol based on "A Gossip-Style Failure Detection Service" https://www.cs.cornell.edu/home/rvr/papers/GossipFD.pdf.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published