Immutant允许应用程序通过Ring响应Web请求 处理程序。每个应用程序都可以动态注册任意数量 处理程序,每个都有一个唯一的上下文路径。这可以让你拥有 多个Ring Web应用程序共享相同的部署生命周期。
所以它说我可以在一个不变的人身上拥有多个Ring应用程序,但是我可以/我应该在一个不变的人身上运行两个独立的网站:site1.com
和site2.com
吗?
此上下文路径被视为顶级上下文路径 - 您拥有 将处理程序绑定到将嵌套的子上下文路径的选项 在顶级路径内。从网址中删除完整的上下文 处理请求之前的路径,以及上下文和剩余的 路径信息通过以下方式作为请求图的一部分提供 :context和:path-info键,分别为。
听起来我可以在site1.com/context1
和site1.com/context2
上运行应用,但不是两个独立的域。
我之所以提出这个问题的原因是因为Immantant占用了我很多服务器资源,所以我不确定我是否可以运行两个不变量。正确的问题可能是如何提高我的不变量的表现? (我对服务器/部署没有任何好处。)
答案 0 :(得分:1)
目前有两个主要的Immutant版本分支:1.x和2.x,这个问题很复杂。 1.x需要比2.x更多的资源,但2.x还没有正式发布(尽管incremental releases are available)。
两个版本都支持在各种虚拟主机组合下安装Ring应用程序,例如: site1.com和上下文路径,例如/ CONTEXT1。在Immutant 1.x中,:虚拟主机设置位于deployment descriptor中,整个项目的上下文路径也是如此。这有点令人困惑,因为您还可以在启动Ring处理程序时指定:context-path。传递给immutant.web/start的那个相对于部署描述符中的一个解析,这就是为什么它被称为"子上下文路径"在文档中。
在2.x中,事情更简单,因为没有部署描述符。所有内容都作为选项传递给immutant.web/run。
答案 1 :(得分:0)
你能发一个小例子到目前为止吗?
您似乎可以通过:host
的{{1}}选项实现此目标:https://projectodd.ci.cloudbees.com/job/immutant2-incremental/lastSuccessfulBuild/artifact/target/apidocs/immutant.web.html