MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi un jeu de répliques mongodb nécessite-t-il un nombre impair de nœuds votants ?

Imaginons qu'un jeu de répliques ait un nombre pair de nœuds (4, par exemple). Ensuite, une partition réseau malheureuse se produit qui divise l'ensemble en deux (2 + 2). Quelle partition doit accepter les écritures ? Première? Deuxième? Tous les deux? Que doit-il se passer lorsque le réseau est restauré ? Ce sont toutes des questions difficiles.

Avoir un nombre impair de nœuds élimine complètement les questions. L'ensemble ne peut pas être divisé exactement en deux. Ainsi, la plus grande partie acceptera les écritures (pour être exact, le nœud doit voir plus de la moitié des nœuds (y compris lui-même) pour être élu comme principal. C'est donc 1 sur 1, 2 sur 3, 3 sur 5, 4 sur 7 et ainsi de suite ).