Openshift объединяет 3 передачи в 1 передачу в бесплатном плане

У меня есть учетная запись opensfhit, и я настраиваю свое приложение, для которого требуется больше места, чем 1 ГБ. как указано в этой ссылке , каждая передача имеет 1 ГБ памяти. и разрешено не более 3 передач. Можно ли объединить 3 Gears в 1 Gear, который может иметь 3 ГБ места. в настоящее время у меня бесплатный план, и у меня есть 1 механизм с 1 ГБ места, в котором есть два картриджа Jboss и база данных Postgresql. Оба вместе занимают более 1 ГБ. поэтому я не могу развернуть приложение из-за нехватки места. Любое направление действительно поможет мне.

Изменить :-

Я создал масштабируемое приложение в бесплатном плане, и, согласно документу openshift, каждая передача может содержать максимум 1 ГБ пространства, и в моем случае 2 Jboss (масштабируется), балансировщик нагрузки, 1 база данных psql, поэтому одна передача будет иметь (Jboss + балансировщик нагрузки) вместе взятые 1 ГБ, 2-я передача postgresql 1 ГБ и 3-я передача Jboss 1 ГБ (масштабируемая).

Примечание: - в приведенном выше случае минимально допустимое количество передач для масштабирования будет 2, а не 3, поскольку одна передача уже выделена для базы данных. Но максимально допустимые передачи - 3 для масштабирования, и я не знаю, как это работает.

Из панели администратора openshift — JBoss Application Server 7 с использованием 2

OpenShift настроен на масштабирование этого картриджа с помощью веб-прокси HAProxy. OpenShift отслеживает входящий веб-трафик к вашему приложению и автоматически добавляет или удаляет копии вашего картриджа (каждая из которых работает на своей собственной шестерне) для обслуживания запросов по мере необходимости.

Контролируйте количество передач, которые OpenShift будет использовать для вашего картриджа:

Минимум 2 (раскрывающийся список) и максимум 3 (раскрывающийся список) маленьких шестеренок

Каждая масштабируемая шестеренка создается одинаково — выполняются обычные хуки post, pre и deploy. У каждого картриджа будет собственная копия данных времени выполнения, поэтому обязательно используйте базу данных, если вам нужно обмениваться данными между вашими веб-картриджами.


person pappu_kutty    schedule 31.07.2015    source источник


Ответы (2)


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

person Mark B    schedule 06.08.2015
comment
это кажется более подходящим ответом, после создания масштабируемых приложений я обновил свой вопрос, что я испытал. - person pappu_kutty; 07.08.2015

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

Вот цитата из документации по масштабируемым приложениям (если оно не масштабируемое, у вас все равно только 1 Gear):

Картридж HAProxy находится между вашим приложением и общедоступным Интернетом и направляет веб-трафик на ваши веб-картриджи. Когда трафик увеличивается, HAProxy уведомляет серверы OpenShift о необходимости дополнительной емкости. OpenShift проверяет, есть ли у вас свободная передача (из оставшихся передач вашей учетной записи), а затем создает еще одну копию вашего веб-картриджа на этой новой передаче. Код в репозиторий git копируется на каждую новую шестеренку, но каталог данных начинается пустым. Когда запустится новая копия картриджа, она вызовет ваши перехватчики сборки, а затем HAProxy начнет маршрутизировать к ней веб-запросы. Если вы нажмете изменение кода в своем веб-приложении, все ходовые части получат это обновление.

Источник: https://developers.openshift.com/en/managing-scaling.html (в разделе «Как работает масштабирование»

Подводя итог: данные GIT копируются на все механизмы, поэтому у вас есть 3 раза по 1 ГБ идентичных данных GIT. @mbaird указал, что это неверно для пользовательских данных, которые не реплицируются. Кроме того, в зависимости от вашего картриджа, в масштабируемом приложении ваша база данных может находиться на отдельном механизме.

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

person Ident    schedule 06.08.2015
comment
Хотя вы правы в отношении ограничения в 1 ГБ на бесплатном плане, вы ошибаетесь в отношении данных, реплицируемых между передачами. Только данные в Git реплицируются при создании нового Gear. Пользовательские данные не реплицируются, и в масштабируемом приложении база данных будет находиться на отдельной передаче. - person Mark B; 06.08.2015
comment
@ident Я согласен с mbaird, я создал масштабируемое приложение, в котором база данных postgresql находится на 1 передаче и не масштабируется, масштабируется только jboss. более того, в любом из ваших решений, как я могу разделить данные (я предполагаю, что вы имели в виду базу данных), поскольку это единый объект. - person pappu_kutty; 07.08.2015
comment
Я постараюсь исправить что-то неточное или неправильное, пожалуйста, поправьте меня еще раз, если есть что исправить после моих изменений. - person Ident; 07.08.2015