spygi
spygi

Reputation: 442

How do nodes in a Raft cluster know what is the "majority"?

I am reading the the Raft paper and following the secret life of data visualisation and it seems that the majority is crucial in Raft, both for leader election as well as append entry requests.

My question is how do the nodes know the total number of nodes in the cluster in the first place? Is there a discovery protocol defined or the number of nodes must be configured on cluster creation? Or does Raft leave this to the specific implementations?

My next question would be how is this number updated (i.e. how are follower nodes marked as down) especially in cases of network partition.

Thanks for any pointer!

Upvotes: 8

Views: 1369

Answers (1)

superfell
superfell

Reputation: 19040

Its mostly implementation specific. Most of the ones i've looked at allow for some initial cluster configuration. One running, those that allow for cluster membership changes usually expose some API to initiate this, and they run the membership through the raft log (see section 6). Some times you're forced to start with a single node and use the membership API to grow your cluster to the size you want.

Transitory events like a node rebooting should not be reflected in the cluster membership. If you want to permanently remove a node because its hardware died, then you'd use the membership api mentioned above.

Upvotes: 4

Related Questions