Чи потрібен набір реплік MongoDB принаймні 2 або 3 члена?


16

Документація тут говорить про три: http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

"Набір реплік вимагає трьох різних систем ..."

Тоді як тут документація говорить про два: http://docs.mongodb.org/manual/core/replication/

"Більшість наборів реплік складається з двох або більше примірників монгоду ..."

Хтось знає, що правильно?

Відповіді:


19

Насправді ви можете запустити один член "набір", якщо хочете.

3 члена (або більший непарний номер) справді найкращий. Набори реплік переходять до читання лише в тому випадку, якщо більшість наборів недоступні, тому якщо ви втратите член у двочленному наборі, решта членів стає лише для читання.

Ви можете керувати двома повноправними членами, а також членом, який має право голосу (називається арбітром). Це найменший досить безпечний варіант для набору реплік.


6
Хочемо підкреслити, що два члени - це не стійкі до відмов системи. @MrKurt вірно, що якщо один член впаде (не планується), то інший не може бути ПЕРШИМО і перейде до SECONDARY (лише читання). Іншими словами, якщо вам потрібна копія у виробництві, 3 члена - це мінімум для відмовостійкості від порушення елемента.
Брет Фішер

3

Це в основному формулювання, оскільки вимоги до підручника не є загальним твердженням про набори реплік, а стосуються itelf підручника. Вимога до розгортання набору реплік взагалі становить 1 або більше, у більшості є 2 або більше, але підручник, на який ви посилаєтесь, спеціально розгортає набір з 3-х членів:

У цьому підручнику описано, як створити набір із трьох реплік з трьох існуючих екземплярів MongoDB

Отже, вимога до підручника полягає в тому, щоб набір мав 3 члени. Тим не менш, дві заяви є трохи заплутаною, тому я подав запит на витяг (EDIT: запит на тягнення тепер об'єднаний), щоб трохи очистити його.

Ви можете мати один вузол mongod, налаштований на частину набору реплік, але строго кажучи, це не було б "набором". Насправді, оскільки для реплікації використовується більше ресурсів, ніж окремий mongod(в основному через oplog ), насправді немає сенсу запускати одного члена, якщо це не є тимчасовим заходом до того, як ви додасте інших членів до набору або якщо вам потрібен опилог для інші причини (наприклад, резервне копіювання).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.