Ho creato un foglio di calcolo per illustrare meglio l'effetto dei nodi Arbiter in un set di repliche.
Fondamentalmente si riduce a questi punti:
- Con una RS di 2 nodi di dati , perdere 1 server ti porta al di sotto del tuo minimo di voto (che è "maggiore di N/2"). Un arbitro risolve questo.
- Con una RS di nodi di dati con numerazione pari , l'aggiunta di un arbitro aumenta la tua tolleranza agli errori di 1 senza rendere possibile la presenza di 2 gruppi di votazione a causa di una divisione.
- Con una RS di nodi di dati con numerazione dispari , l'aggiunta di un arbitro consentirebbe a una divisione di creare 2 gruppi isolati con voti "maggiori di N/2" e quindi uno scenario di cervello diviso.
Le elezioni sono spiegate [in modo scarso] qui. In quel documento afferma che una RS può avere 50 membri (numero pari) e 7 membri votanti. Sottolineo "stati" perché non spiega come funziona. A me sembra che se si verifica una divisione con 4 membri (tutti votanti) da una parte e 46 membri (3 votanti) dall'altra, preferiresti che i 46 eleggessero una primaria e i 4 fossero una legge- unico grappolo. Ma questo è esattamente ciò che impedisce il "voto limitato". In quella situazione avrai effettivamente un cluster a 4 membri con un cluster primario e un cluster a 46 membri di sola lettura. Spiegare come ciò abbia senso è fuori dallo scopo di questa domanda e oltre la mia conoscenza.