A gossip protocol describes peer-to-peer (P2P) communication based on how a virus spreads during an epidemic. The Gossip Protocol favors a decentralized approach to maintaining relaxed consistency among many nodes where each node is paired with another node at random and sends data to it. This process is repeated, causing data to propagate through the system like a virus in a timely and efficient manner.
Understanding a gossip protocol
Systems built on sometimes uncooperative computers can result in knowledge problems. Indeed, it can be difficult to ascertain if one node is dead or if another is alive.
It can also be difficult to make local decisions. Which node should handle a request and how are nodes assigned to a certain range of users?
Gossip protocols seek to address these issues, favoring a decentralized approach and maintaining relaxed consistency requirements among many nodes. In this approach, each node is paired with another node at random and sends data to it. This process is repeated, causing data to propagate through the system like a virus in a timely and efficient manner.
At some point, data reach every node in the system and a global map is built from less interactions.
Three main types of gossip protocols
Three main variants of gossip protocol can be utilized according to the particular needs of the organization.
1 – Dissemination (rumor-mongering) protocols
These protocols use gossip to spread information through a network by flooding agents in a manner that produces bounded worst-case loads.
Under this type are two subtypes:
- Background data dissemination protocols – where gossip about information is continuous and rapid. Propagation latency is less of a concern because of a lack of severe penalty for acting upon old data. The threat of latency is also reduced by information that tends to change very slowly.
- Event dissemination protocols – here, gossip is used to send data to multiple nodes simultaneously (multicasting). Events are reported but do not trigger gossip which only occurs periodically. This characteristic has the potential to increase propagation latency.
2 – Aggregation protocols
These protocols calculate a network aggregate by sampling information at the nodes and extrapolating a system-wide value.
Importantly, the aggregate must be based on fixed-size pairwise exchanges of information. Aggregation protocols keep a record of all processed data in a process known as distributed data mining. This process is used in distributed ledger technologies such as Blockchain.
3 – Anti-entropy protocols
In this type, nodes choose a random partner with which to share data. In systems without strong consistency requirements, anti-entropy protocols “repair” data and reconcile missing records to keep nodes in sync.
Updates spread logarithmically – even in the face of host failures and message loss.
Advantages of gossip protocols
- Fault tolerance – gossip protocols are resistant to faults because nodes can distribute information with multiple other nodes in the network. Nodes with connectivity issues are compensated by other nodes that have already received the message. Put differently, there are many routes by which information can flow from origin to destination.
- Scalability – gossip protocols are also highly scalable because information can be efficiently spread across large networks. Individual nodes do not wait for acknowledgments, nor do they act if an acknowledgment does not arrive. This allows systems to be easily scaled to millions of processes.
- Robustness – no node in a network plays a specific role. As a result, a failed node will not prevent other nodes from continuing to send messages. Each node can join or leave a system without compromising integrity or quality of service.
- Gossip protocols describe the movement of information across a peer-to-peer network akin to how a virus spreads through a population.
- There are three main types of gossip protocol: dissemination (rumor-mongering) protocols, aggregation protocols, and anti-entropy protocols.
- Gossip protocols have numerous advantages. With multiple avenues for information flow, they are resistant to system faults. They are also highly scalable and robust.
Main Free Guides: