【发布时间】:2014-08-04 03:01:21
【问题描述】:
我正在使用 Grails Standalone App Runner 插件部署我的 Grails (2.3.6) 应用程序,如下所示:
grails -Dgrails.env=prod build-standalone myapp.jar --tomcat
然后,我的 CI 构建将 myapp.jar 放置到我的应用服务器上,例如 myapp01。
我现在想在myapp 在多个节点上运行时对应用会话进行集群。因此,如果myapp 被部署到myapp01、myapp02 和myapp03,并且其中一个实例与用户启动了一个新会话,我希望这三个实例都知道同一个会话。这显然是为了让我可以将所有节点放在负载平衡 URL 后面(http://myapp.example.com 等),而路由到哪个节点并不重要:所有节点共享相同的会话。
我搜索了“grails session clustering”,看到一堆似乎需要 terracotta 的文章,但我还听说 Grails 具有内置的 session clustering 功能。但我所做的任何搜索都会空手而归。
所以我问:如何使用嵌入式 Tomcat 实现这种会话集群?
【问题讨论】:
-
使用正确的 tomcat tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html 可以跨多个节点共享会话。
标签: session tomcat grails cluster-computing load-balancing