使用JBoss EWS 2.0进行集群

时间:2013-04-03 05:45:26

标签: java tomcat jboss session-replication

在我们的生产环境中,我们使用的是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 - 群集已被删除 - RedHat®认为此功能不适合中型或大型生产部署。

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

修改

更多信息,请参阅Release notes for JBoss EWS 2.0.0

  

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

最后一句话特别令人不安......

2 个答案:

答案 0 :(得分:1)

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

您可以手动添加它们,但我建议您尝试使用http://code.google.com/p/memcached-session-manager/。在Tomcat 6(以及硬件LB)上适用于我们。

对Tomcat 7应该同样有效。

答案 1 :(得分:1)

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

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