Основная функция набора реплик заключается в обеспечении избыточности данных и высокой доступности для вашего развертывания MongoDB. То есть, если основной узел в наборе реплик по какой-либо причине вышел из строя, вторичный сервер сразу же заменит новый первичный (в среднем в течение ~ 10 секунд). См. Репликация для получения дополнительной информации об этой топике c.
Официальные драйверы MongoDB знают об этом событии выбора набора реплик и предоставят автоматические c переподключения и повторные попытки работы нового первична. С точки зрения приложения, на стороне базы данных ничего не происходило.
Еще одним преимуществом использования набора реплик с несколькими вторичными системами является возможность нулевого простоя обновления / обслуживания по мере поступления. Это можно сделать, переведя один вторичный сервер в автономный режим, выполнив его обслуживание, затем выполнив обслуживание других вторичных устройств, и, наконец, отключив первичный сервер и выполнив его обслуживание. Опять же, поскольку официальные драйверы MongoDB знают об этих событиях, технически вы можете выполнять техническое обслуживание работающей базы данных с минимальным влиянием и без простоев для приложения.
Это другая философия по сравнению с монолитной c базой данных. сервер, где есть только один настоящий большой сервер. Несмотря на то, что в развертывании c есть определенные достоинства (и это опять другое обсуждение :)), MongoDB задумывался как отказоустойчивая распределенная база данных. Непосредственный недостаток одного сервера состоит в том, что сервер должен постоянно работать на 100%, иначе приложение будет повреждено. Набор реплик был спроектирован таким образом, чтобы ваше приложение могло работать без перебоев на 100%, не оказывая давления на отдельные серверы, которые требуют 100% безотказной работы.
В качестве бонуса, набор реплик может иметь возможность обеспечить масштабируемость чтения, установив драйвер для чтения из вторичных серверов (запись должна всегда go в первичную). Обратите внимание, что при выполнении вторичных операций чтения следует соблюдать осторожность, поскольку это может помешать аспекту высокой доступности в случае злоупотребления.
Таким образом, набор реплик может обеспечить:
- Высокая доступность и отказоустойчивость
- Нет обслуживания простоя
- Избыточность данных для масштабирования чтения
без необходимости обеспечения надежности оборудования на 100%. Вот почему набор реплик настоятельно рекомендуется при развертывании prod.
Более подробные сведения о развертывании набора реплик см. В Архитектура развертывания набора реплик .