In past sections, we have dwelt on how Cassandra distributes data using partitioners and how Cassandra replicates data for high availability. For the earlier said features to work, every node within the cluster should have information about every other node. Cassandra nodes should get the information when a new node is added so they can rearrange the token ranges. They should know whenever a node is down so they can store hints. So, there has to be some sort of communication between the nodes so each node can maintain the entire cluster view up to date at all times. Cassandra uses a gossip protocol for internode communication.
Gossip protocol is mainly used to relay information about the location and state of other nodes in the cluster. Each node sends information about itself and other nodes they gossip with to up to three other nodes every second. This way, the entire cluster view is propagated...