Можно ли иметь доступный только для чтения экземпляр MongoDB в папке базы данных, которая уже используется на другом сервере?

У меня следующие настройки:

- Многие серверы

- Одна общая папка для хранения данных, подключенная к сети

На одном из серверов мне нужно запустить MongoDB для записи данных на него. Я хочу иметь доступ к этим записанным данным с других серверов, пока один экземпляр все еще работает. Возможно ли иметь доступный только для чтения экземпляр MongoDB, который позволяет это? Во всех остальных мне не нужно ничего писать, просто читаю.

0
задан 19 December 2018 в 14:43
1 ответ

Вы не можете использовать dbPath совместно с несколькими активными mongod процессами - каждый процесс требует монопольного доступа к файлам данных.

Для избыточности данных и Копии данных только для чтения, MongoDB поддерживает развертывание наборов реплик . Набор реплик выбирает единственный первичный член , который принимает записи и может иметь несколько вторичных членов только для чтения. По умолчанию все операции чтения и записи направлены на текущий первичный элемент в наборе реплик, но ваш драйвер или приложение могут использовать настройки чтения для чтения из вторичных элементов. В случае, если текущий основной источник недоступен, наборы реплик также поддерживают аварийное переключение на основе вашей конфигурации.

Однако общее хранилище не идеально подходит для набора реплик, поскольку вы будете записывать много копий одних и тех же данных в общее хранилище (которое предположительно также имеет некоторую встроенную избыточность записи).

С репликацией или без нее, вам следует настроить MongoDB Role-Based Access Control (RBAC) , чтобы ваши приложения аутентифицировались с соответствующими привилегиями, такими как только чтение доступ. Контрольный список безопасности MongoDB содержит список мер безопасности, которые следует учитывать. Даже если доступ ограничен доверенной сетью, использование RBAC ограничивает вашу подверженность случайному изменению данных и обеспечивает некоторый контрольный журнал в журналах сервера MongoDB.

0
ответ дан 5 December 2019 в 04:50

Теги

Похожие вопросы