Множество кольцевых сайтов на одном имутанте?
Immutant позволяет приложениям отвечать на веб-запросы через обработчики звонков. Каждое приложение может динамически регистрировать любое количество обработчиков, каждое с уникальным контекстным путем. Это позволяет иметь несколько веб-приложений Ring, использующих один и тот же жизненный цикл развертывания.
В нем говорится, что у меня может быть несколько приложений Ring на одном имутанте, но могу ли я / я должен иметь два отдельных сайта, работающих на одном имутанте: site1.com
а также site2.com
?
Этот контекстный путь считается контекстным путем верхнего уровня - у вас есть возможность привязать обработчик к субконтекстному пути, который будет вложен в путь верхнего уровня. Полный контекст удаляется из пути URL-адреса перед обработкой запроса, и контекст и оставшаяся информация о пути становятся доступными как часть карты запроса через ключи: context и: path-info соответственно.
Похоже, я могу запустить приложение на site1.com/context1
а также site1.com/context2
но не так много двух отдельных доменов.
Причина, по которой я спрашиваю, состоит в том, что имутант так много потребляет ресурсов моего сервера, что я не уверен, что смогу запустить два имутанта. Правильный вопрос может состоять в том, как я могу улучшить производительность своего имутанта? (Я не очень хорош с серверами / развертыванием.)
2 ответа
Ответ осложняется тем фактом, что в настоящее время существует две основные ветви версии Immutant: 1.x и 2.x. 1.x требует гораздо больше ресурсов, чем 2.x, но 2.x еще не был официально выпущен (хотя доступны дополнительные версии).
Обе версии поддерживают монтирование приложений Ring в различных комбинациях виртуального хоста, например site1.com, и контекстного пути, например /context1. В Immutant 1.x параметр:virtual-host находится в дескрипторе развертывания, как и:context-path для всего проекта. Это несколько сбивает с толку, так как вы также можете указать:context-path при запуске вашего обработчика Ring. Тот, который передается в immutant.web/start, разрешается относительно набора, заданного в дескрипторе развертывания, поэтому в документах он называется "путём суб-контекста".
В 2.x все проще, потому что нет дескриптора развертывания. Все передается как опция для immutant.web / run.
Можете ли вы опубликовать небольшой пример с тем, что у вас есть до сих пор?
Кажется, что вы могли бы достичь этого с :host
возможность run
: https://projectodd.ci.cloudbees.com/job/immutant2-incremental/lastSuccessfulBuild/artifact/target/apidocs/immutant.web.html