Встречается на собеседованиях • сегодня

Приходилось ли реплицировать MongoDB

Да, приходилось. MongoDB поддерживает несколько механизмов репликации для обеспечения отказоустойчивости и высокой доступности данных. Основной подход — использование Replica Set, где данные автоматически синхронизируются между первичным (primary) и вторичными (secondary) узлами.

Пример настройки Replica Set в MongoDB:

javascript
// Конфигурация Replica Set
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "mongo1:27017" },
    { _id: 1, host: "mongo2:27017" },
    { _id: 2, host: "mongo3:27017", arbiterOnly: true }
  ]
})

Ключевые моменты:

  • Primary — принимает все операции записи.
  • Secondary — реплицирует данные с primary, может использоваться для чтения.
  • Arbiter — участвует в выборах primary, но не хранит данные.

Для работы с репликой в Python (PyMongo):

python
from pymongo import MongoClient

# Подключение к Replica Set
client = MongoClient(
    "mongodb://mongo1:27017,mongo2:27017,mongo3:27017/?replicaSet=rs0"
)
db = client.example_db

Нюансы:

  • Автоматический failover при падении primary.
  • Чтение из secondary (readPreference=secondary).
  • Задержка репликации (может быть критична для некоторых сценариев).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы