在我们的生产环境中,我们使用 JBoss Enterprise Web Server 2.0 ,它基本上是 Apache HTTP Server 和稍作修改的 Tomcat 7 的捆绑。我们有两个节点,位于不同的服务器上,并且我们正在尝试在节点之间建立具有 session 故障转移(复制)的集群。我最初的想法是简单地遵循 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 安装的 lib
文件夹中似乎有很多 mod_cluster-*.jar
文件。
我找到的有关此主题的所有文档都是如何在 Apache HTTP Server 级别配置集群。但前面我们并没有真正使用 Apache HTTP,所以它不适用。现在我想知道是否应该从标准 Tomcat 7 安装中添加集群库,或者是否有另一种“标准”方式使用 JBoss EWS 配置集群?有人用 JBoss EWS 设置集群吗?欢迎任何见解。
编辑:
我在文档 JBoss Enterprise Web Server Component Details 中找到了这条注释
Apache Tomcat 7 - Clustering has been removed - Red Hat® does not believe this feature is suitable for medium or large-scale production deployments.
这就解释了为什么 Tomcat 集群库不可用。
编辑:
更多信息,请参见 Release notes for JBoss EWS 2.0.0
Tomcat Clustering has been excluded from the Apache Tomcat 6 and 7 component. Specifically the catalina-tribes.jar and catalina-ha.jar files have been removed. This eliminates the possibility of session replication.
最后一句话特别令人不安......
最佳答案
是的,JBoss EWS 1.0 和 2.0 中都没有标准的 Catalina 集群 JAR。
您可以手动添加它们,但我建议您尝试 http://code.google.com/p/memcached-session-manager/反而。在 Tomcat 6(和硬件 LB)上运行良好。
对于 Tomcat 7 应该同样有效。
关于java - 使用 JBoss EWS 2.0 进行集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15779736/