Должен ли я использовать MongoDB на собственном экземпляре EC2? - PullRequest
5 голосов
/ 05 января 2012

Я только начинаю с Amazon EC2 и пытаюсь понять, как должны работать базы данных.Если у меня сайт с высоким трафиком и я хочу балансировать трафик в нескольких экземплярах, я предполагаю, что эти экземпляры должны будут извлекать и сохранять данные в одном отдельном экземпляре, чтобы избежать фрагментации данных на нескольких компьютерах. Должен ли я в этом случае установить и запустить mongoDB на своем собственном экземпляре и подключить все остальные экземпляры к этому единому хранилищу данных?Или я должен просто запустить mongo и мой http-сервер в одном экземпляре?

Хотелось бы услышать некоторые из ваших лучших рекомендаций.

1 Ответ

7 голосов
/ 05 января 2012

Может быть, это не нужно во время разработки, но вы должны сделать это, как только вы приступите к работе.

Более того, если вы используете производственные данные, возможно, вы хотите запустить репликуустановите на создание резервной копии на случай, если что-то не получится, чтобы не потерять ваши данные и не прерывать работу вашей службы.

БД жаждут памяти, поэтому разделять ее с другими процессами - плохая идея.На сервере приложений вам, вероятно, потребуется больше ЦП, чем памяти, поэтому вы можете использовать типы экземпляров с высоким ЦП (c.medium, c1.xlarge) и использовать типы с высоким объемом памяти для вашей БД (m2.large и т. Д.) (High-CPUэкземпляры дешевле)

Кроме того, с архитектурной точки зрения лучше иметь возможность масштабировать количество серверов приложений независимо от БД.Если вы поместите серверы приложений и БД на одну и ту же машину, это может привести к проблемам, если позже вам придется перейти на другой.

...