MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Perché un set di repliche mongodb richiede un numero dispari di nodi di voto?

Immaginiamo che un set di repliche abbia un numero pari di nodi (4, per esempio). Quindi si verifica una sfortunata partizione di rete che divide il set a metà (2 + 2). Quale partizione dovrebbe accettare scritture? Primo? Secondo? Tutti e due? Cosa dovrebbe succedere quando la rete viene ripristinata? Sono tutte domande difficili.

Avere un numero dispari di nodi elimina completamente le domande. Il set non può essere diviso esattamente a metà. Quindi la maggior parte accetterà le scritture (per essere esatti, il nodo deve vedere più della metà dei nodi (incluso il sé) per essere eletto primario. Quindi è 1 di 1, 2 di 3, 3 di 5, 4 di 7 e così via ).