Эти лучшие практики все еще действительно проясняются.
С вашей настройкой, вот как я бы сделал обслуживание сервера.
Резервные
Найти неосновную в каждом наборе реплик. Выполните fsync & lock . Копировать, смолить, сделать резервную копию. Разблокировать БД.
Вы должны быть в состоянии сделать это успешно на наборе реплик. Если вы действительно беспокоитесь, вы можете выполнить команду fsync & lock, а затем завершить работу.
сжатия
Возможно, вы захотите сжать данные в какой-то момент. Самый простой способ сделать это - снова выполнить fsync & lock, а затем выполнить db.repairDatabase (). Команда восстановления в основном сделает «дефрагментацию / сжатие» для вас. Как и выше, это также может быть связано с отключением.
Код нажимает
В идеале, очень мало того, что должно быть согласовано с отправкой кода. В худшем случае вам нужно будет управлять созданием / удалением индекса. Но этим действительно нужно управлять отдельно, так как вы не хотите, чтобы разработчики просто произвольно добавляли индексы в производственную БД.
Мониторинг
Это более сложная тема, но вы, вероятно, захотите посмотреть на такие вещи, как «кто хозяин», «какая пропускная способность записи на каждом узле», «сколько оперативной памяти я использую», «сколько данных смещается между узлами ". Есть ограниченные инструменты для этого прямо сейчас, так что ждите, чтобы сделать свой собственный.