2

在我们的生产环境中,我们使用JBoss Enterprise Web Server 2.0,它基本上是 Apache HTTP Server 和稍微修改的 Tomcat 7 的捆绑。我们有两个节点,在不同的服务器上,我们正在尝试设置集群节点之间的会话故障转移(复制)。我最初的想法是简单地遵循Tomcat 7 Clustering How-To。但是按照上述指南(使用示例中的配置)并启动服务器会出现此错误:

java.lang.ClassNotFounException: org.apache.catalina.ha.tcp.SimpleTcpCluster

同样在日志中:

INFO: Cluster RuleSet not found due to [java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterRuleSet]. Cluster configuration disabled.

因此,JBoss EWS 附带的 Tomcat 7 版本似乎没有附带标准的 Tomcat 7 集群库。相反, Tomcat安装的文件夹中似乎有很多mod_cluster-*.jar文件。lib

我在这个主题上找到的所有文档都是如何在 Apache HTTP Server 级别配置集群。但是我们前面并没有真正使用Apache HTTP,所以它不适用。现在我想知道我是否应该从标准的 Tomcat 7 安装中添加集群库,或者是否有另一种“标准”方式使用 JBoss EWS 配置集群?有人用 JBoss EWS 设置集群吗?欢迎任何见解。

编辑:

我在文档JBoss Enterprise Web Server Component Details中找到了这个注释

Apache Tomcat 7 - 集群已被删除 - Red Hat® 认为此功能不适用于中型或大型生产部署。

这就解释了为什么 Tomcat 集群库不可用。

编辑:

更多信息,可在JBoss EWS 2.0.0 的发行说明中找到

Tomcat 集群已从 Apache Tomcat 6 和 7 组件中排除。特别是 catalina-tribes.jar 和 catalina-ha.jar 文件已被删除。这消除了会话复制的可能性。

最后一句话特别扎心……

4

2 回答 2

1

是的,JBoss EWS 1.0 和 2.0 中都没有标准的 Catalina 集群 JAR。

您可以手动添加它们,但我建议您改用http://code.google.com/p/memcached-session-manager/。在 Tomcat 6(和硬件 LB)上非常适合我们。

应该同样适用于 Tomcat 7。

于 2013-04-03T08:36:19.310 回答
1

根据 RedHat 的官方回应,JBoss EWS 不支持会话复制。我猜会话复制不是 RedHat 的“企业”功能......如果我们希望以受支持的方式进行会话复制,我们需要升级到 JBoss EAS。

当然,这并不意味着不能使用 JBoss EWS 进行会话复制。只是不会被支持。因此可以将 catalina 集群库复制到 JBoss EWS 中,并按照 Tomcat 7 集群方法中描述的方式设置集群和复制。或者按照@Jukka 的建议使用其他会话复制框架。

于 2013-04-04T07:57:13.873 回答