Czy zestaw repliki MongoDB wymaga co najmniej 2 lub 3 członków?

Odpowiedzi:

19

Jeśli chcesz, możesz uruchomić pojedynczy zestaw „członków”.

Jednak 3 członków (lub wyższa liczba nieparzysta) jest naprawdę najlepsza. Zestawy replik są odczytywane tylko wtedy, gdy większość zestawu nie jest dostępna, więc jeśli utracisz członka w zestawie złożonym z dwóch elementów, pozostały element stanie się tylko do odczytu.

Możesz zarządzać dwoma pełnymi członkami oraz członkiem „tylko do głosowania” (zwanym arbitrem). Jest to najmniejsza rozsądnie bezpieczna opcja dla zestawu replik.

MrKurt
źródło
6
Chcę podkreślić, że dwóch członków nie jest systemem odpornym na uszkodzenia. @MrKurt ma rację, że jeśli jeden członek ulegnie awarii (nieplanowany), wówczas drugi nie może być PIERWOTNY i ustąpi do WTÓRNEJ (tylko do odczytu). Innymi słowy, jeśli potrzebujesz repliki w produkcji, 3 elementy to minimum dla odporności na uszkodzenia w przypadku uszkodzenia elementu.
Bret Fisher
3

Zasadniczo jest to kwestia sformułowania, ponieważ wymagania zawarte w samouczku nie stanowią ogólnego stwierdzenia na temat zestawów replik, a raczej odnoszą się do samego samouczka. Wymaganie dotyczące wdrożenia zestawu replik ogólnie wynosi 1 lub więcej, większość ma 2 lub więcej, ale samouczek, do którego prowadzi łącze, dotyczy konkretnie wdrożenia zestawu 3 członków:

W tym samouczku opisano, jak utworzyć zestaw replik składający się z trzech członków z trzech istniejących instancji MongoDB

W związku z tym samouczek wymaga, aby zestaw miał 3 elementy. Niemniej jednak jest trochę mylące, aby mieć te dwie instrukcje, więc wysłałem żądanie ściągnięcia (EDYCJA: żądanie ściągnięcia zostało teraz scalone), aby je trochę oczyścić.

Możesz mieć skonfigurowany pojedynczy węzeł mongod, aby był częścią zestawu replik, ale ściśle mówiąc, nie byłby to „zestaw”. W rzeczywistości, ponieważ replikacja zużywa więcej zasobów niż autonomiczny mongod(zasadniczo z powodu oplog ), naprawdę nie ma sensu uruchamiać pojedynczego elementu, chyba że jest to tymczasowe działanie przed dodaniem innych elementów do zestawu lub jeśli potrzebujesz oplog dla inne powody (takie jak tworzenie kopii zapasowych).

Adam C.
źródło