一个不变的多个环站点?

时间:2014-07-12 23:47:23

标签: clojure ring immutant

  

Immutant允许应用程序通过Ring响应Web请求   处理程序。每个应用程序都可以动态注册任意数量   处理程序,每个都有一个唯一的上下文路径。这可以让你拥有   多个Ring Web应用程序共享相同的部署生命周期。

所以它说我可以在一个不变的人身上拥有多个Ring应用程序,但是我可以/我应该在一个不变的人身上运行两个独立的网站:site1.comsite2.com吗?

  

此上下文路径被视为顶级上下文路径 - 您拥有   将处理程序绑定到将嵌套的子上下文路径的选项   在顶级路径内。从网址中删除完整的上下文   处理请求之前的路径,以及上下文和剩余的   路径信息通过以下方式作为请求图的一部分提供   :context和:path-info键,分别为。

听起来我可以在site1.com/context1site1.com/context2上运行应用,但不是两个独立的域。

我之所以提出这个问题的原因是因为Immantant占用了我很多服务器资源,所以我不确定我是否可以运行两个不变量。正确的问题可能是如何提高我的不变量的表现? (我对服务器/部署没有任何好处。)

来源:http://immutant.org/documentation/0.1.0/web.html

2 个答案:

答案 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