Before talking about gossip, first define what is Cassandra instance.
Cassandra Instance:
is a set of independent nodes in the cluster, all nodes are equivalent.
Cassandra the interaction between nodes:
The Gossip protocol (final consistency principle) is used to discover the location and state information of nodes in other clusters through the Cassandra node. The gossip protocol is peer-to-peer, with different nodes exchanging state information periodically (up to 3 other nodes per second), with the version number, so the old information is overwritten by the new one. The node information is configured in the Cassandra.yaml file.
Seed node (representative of node):
When the node first starts, it checks the profile Cassandra.yaml to get the cluster name it belongs to, but how does it get information about the other nodes in the cluster? is through the seed node. Remember that the cassandra.yaml of all nodes in the same cluster must have the same list of seed nodes.
It's not particularly important to select who does the seed node, just because new nodes are added to the cluster and are useful when walking through the gossip process, so they have no privileges.
Cassandra Fault Detection:
The gossip process (gossiper) senses whether each node is still alive through the Heartbeat (heartbeat) of each node. It takes into account the network condition, load and other factors to calculate the critical value of the node heartbeat time. During the gossip process, each node maintains the number of internal arrivals of other nodes gossip messages. In Cassandra, if you configure Phi_convict_threshold, you can adjust the sensitivity of the failure detection to adapt to the relatively unreliable network environment, more than this time (seconds) is Cassandra think this node down.
More Wonderful content: http://www.bianceng.cnhttp://www.bianceng.cn/database/extra/