bbengfort / cloudscope

Simulation and visualization of distributed systems and communications.
http://bbengfort.github.io/cloudscope/
MIT License
1 stars 0 forks source link

Gossip Protocol #3

Closed bbengfort closed 8 years ago

bbengfort commented 8 years ago

We need a way to propagate information throughout the network since not all replicas are directly connected to each other. Our first implementation for data propagation is the rumor mongering or gossip protocol. Right now this is implemented as follows:

  1. Node creates data adds version to version list.
  2. Sends message with version to all connections.
  3. On receipt of a message respond with an acknowledgment.
  4. If the message is new (unseen) then add to log and for every node but the sender of the message, forward the message.

From what I can tell, this protocol does eventually converge; but it seems to send a lot of messages. More than I expected.

bbengfort commented 8 years ago

Ok, the issue with the messages was that I was sending a different version id for each message to the new replicas; so instead of sending 1 version I was sending 3, hence all the new messages.