В настоящее время я работаю над проектом и использую openshift в качестве paas. В основном он подходит для всех моих нужд. У меня есть свой сайт, моя статика и мой веб-сервер api.
Только мой веб-сервер api вызывает мою БД
Теперь вопрос по моей базе данных. Я использую mongodb. Проблема в том, что в настоящее время набор реплик в openshift представляет собой предварительную версию технологии и не должен использоваться в производстве, поскольку он использует временное хранилище. Поэтому, если все узлы падают, все данные теряются.
Мы не можем также масштабировать модуль mongodb, потому что это может привести к нескольким действиям записи и создать реальные проблемы.
У меня была идея, но я хотел бы знать, видите ли вы что-то не так.
В качестве резюмирующего, набор реплик состоит из: Один первичный => это единственный, которому разрешено выполнять действия записи Несколько вторичных => гарантировать действия чтения Произвольный => на данный момент я не сосредотачиваюсь на этом.
Итак, моя идея смоделировать набор реплик (для этого нужны некоторые настройки с моей стороны): - Создайте экземпляр mongodb, который будет внедрен в primary.db.example.com - Создайте экземпляр mongodb, который будет рутирован на secondary.db. example.com
Оба будут указывать на одно и то же постоянное хранилище.
Затем в моем api:
Таким образом, я смогу масштабировать вторичные файлы для операций чтения. И если первичные выборы падают, Openshift попытается воссоздать пакет (например, когда есть выборы для новых первичных выборов).
Я знаю, что это не лучшее решение, но на данный момент это единственное решение, которое я нашел (кроме создания внешней реплики, что подразумевает множество вопросов о безопасности, стоимости и т. Д.)
Что вы думаете об этом временном решении (чтобы дождаться реального готового к производству решения Openshift)
С уважением