Мне интересно, какое сообщество больше всего порекомендует проблему, с которой я столкнулся, создав среду для песочницы для нашей команды.Настройка дублирующей тестовой среды mongodb
В настоящее время мы используем два отдельных экземпляра MongoDB, оба набора реплик на 3 члена, для нашей среды тестирования и развертывания соответственно. Внутренне понятно, что все данные в тестовой среде в значительной степени выбрасываются и просто создаются разработчиками в ходе модульного тестирования приложения.
Я бы хотел дать команде разработчиков новую возможность тестирования с реальными живыми данными, но в отдельном безопасном экземпляре песочницы. Сначала мне казалось, что я могу просто использовать команду copyDatabase
, чтобы каждый день обманывать данные в новой базе данных и подключать отдельные серверы приложений разработчика к этой базе данных. Проблема в том, что в системе имеется тонна данных GridFS, и дублирование, как это, тратит массу дискового ввода-вывода, и мы работаем в небольших облачных экземплярах.
Я опасаюсь идти по этому маршруту, особенно если есть более подходящая альтернатива.
Возможно ли, например, установить четвертый элемент набора реплик развертывания, который работает только как подчиненный, установить все запросы на slaveOkay = True
и выполнить тесты против этого отдельного узла? Будет ли это распространяться обратно на других членов? Как обрабатывать вставки?
То, что я предлагаю, может оказаться непрактичным, особенно если передача должна была пересечь сеть, где она также будет тратить сетевую передачу. Кому-нибудь приходилось решать подобную проблему? Благодаря!
Спасибо за ваш ответ. В настоящее время мы генерируем тестовый db с помощью модуля unittest, поэтому, возможно, неправильно было ссылаться на db, который я пытался настроить как «тестовый». То, что я действительно имел в виду, было промежуточным сервером, на который вы ссылались. – DeaconDesperado