Проверить роль узла
db.hello()
Команда помогает понять, подключены ли вы к primary или secondary.
Репликация в MongoDB — способ повысить надёжность и отказоустойчивость базы данных.
Простая идея: есть несколько копий данных, которые автоматически поддерживаются в синхронизации.
Цели репликации: отказоустойчивость и повышение производительности чтения.
Replica set — группа экземпляров mongod с одним набором данных.
Primary принимает записи, secondary хранят копии и могут помогать с чтением.
Синхронная репликация даёт более актуальные копии, но добавляет задержку.
Асинхронная репликация быстрее для записи, но secondary могут отставать.
Arbiter не хранит данные и участвует в выборах primary при сбое.
db.hello()
Команда помогает понять, подключены ли вы к primary или secondary.
rs.status()
В статусе видны участники набора реплик, их роли и состояние синхронизации.
rs.add("mongo2:27017")
Secondary хранит копию данных primary и может участвовать в выборах.
rs.addArb("mongo-arbiter:27017")
Arbiter добавляет голос для выборов, но не хранит данные.
db.getMongo().setReadPref("secondaryPreferred")
Такую настройку используют осторожно: чтение с secondary может вернуть немного устаревшие данные.