- Nodes can be either master or slaves.
- Nodes register themselves with their master on creation.
Some number (n) of new nodes are created. Nodes have no knowledge of other nodes being created and elect themselves as master. This results in n master nodes and 0 slave nodes.
Nodes must learn of other nodes existence and elect a single master with the rest becoming slaves. Any information stored in former master nodes must be migrated to the new master.
Some number of nodes exist with one elected as master and the rest serving as slaves.
A new node is introduced that does not qualify to become a new master.
A new node is introduced that meets the criteria to become the master. For example, if the master is chosen by the lowest ip address among the nodes, then the new node would be one with an address lower than all existing nodes.
Some number of nodes exist that are slaves to a master than is no longer functioning.