Reputation: 442
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
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