sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Por qué un conjunto de réplicas de mongodb requiere un número impar de nodos de votación?

Imaginemos que un conjunto de réplicas tiene un número par de nodos (4, por ejemplo). Luego ocurre una desafortunada partición de red que divide el conjunto por la mitad (2 + 2). ¿Qué partición debería aceptar escrituras? ¿Primero? ¿Segundo? ¿Ambas cosas? ¿Qué debería suceder cuando se restaura la red? Todas estas son preguntas difíciles.

Tener un número impar de nodos elimina las preguntas por completo. El conjunto no se puede dividir exactamente por la mitad. Entonces, la mayor parte aceptará escrituras (para ser exactos, el nodo debe ver más de la mitad de los nodos (incluido uno mismo) para ser elegido como primario. Entonces es 1 de 1, 2 de 3, 3 de 5, 4 de 7 y así sucesivamente ).