A gossip protocol is a procedure or process of computer peer-to-peer communication that is based on the way epidemics spread. Think how Corona virus is spreading. Or how a guy starts a rumour/gossip at the company water cooler and it spreads to the whole company Some distributed systems use peer-to-peer gossip to ensure that data is disseminated to all members of a group. Some ad-hoc networks have no central registry and the only way to spread common data is to rely on each member to pass it along to their neighbors.
Primary use cases of Gossip protocol are Failure Detection, Monitoring, Messaging.
Gossip protocols, which maintain relaxed consistency requirements amongst a very large group of nodes. A gossip protocol is simple in concept. Each nodes sends out some data to a set of other nodes. Data propagates through the system node by node like a virus. Eventually data propagates to every node in the system. It’s a way for nodes to build a global map from limited local interactions.
Cassandra, for example, uses what’s called an anti-entropy version of the gossip protocol for repairing unread data using Merkle Trees. Riak uses a gossip protocol to share and communicate ring state and bucket properties around the cluster.
The gossip protocol used by Serf is based on a modified version of the SWIM (Scalable Weakly-consistent Infection-style Process Group Membership) protocol.
DynamoDB uses Gossip protocol for membership and failure detection. It preserves symmetry and avoids having a centralized registry for storing membership and node liveness information.