Tomcat集群的优缺点

时间:2013-03-18 18:37:42

标签: java tomcat tomcat7 cluster-computing ehcache

目前,我们在4个不同的tomcat实例上部署了相同的Web应用程序,每个实例都运行在独立的机器上。负载均衡器将请求分发给这些服务器。我们的Web应用程序进行数据库调用,维护缓存(键值对)。所有tomcat实例都从相同的数据源(另一个服务器)读取相同的数据(XML)并将其提供给客户端。将来,我们计划从请求中收集一些使用数据,处理并将其存储在数据库中。此功能应该是所有tomcat服务器之间的通用(一个模块)。     

现在我们正在考虑使用tomcat集群。我做了一些研究,但我无法弄清楚如何分离数据获取操作,即从相同数据源(另一个服务器)部分读取相同数据(XML)的所有tomcat web应用程序。因此,一旦一个服务器从服务器获取数据,它将维护它(可能在缓存中),并且一些其他服务器可以使用相同的数据来为客户端提供服务。现在可以使用分布式缓存实现此功能。但是还有其他模块可以在所有其他tomcat实例中使​​用。

    基本上,使用Tomcat集群有什么优势吗?如果是,那么我该如何实现所有tomcat服务器通用的模块。

1 个答案:

答案 0 :(得分:0)

阅读Tomcat configuration referenceclustering guide。可用的群集功能如下:

  

tomcat集群实现提供会话复制,   上下文属性复制和群集范围的WAR文件部署。

因此,通过群集,您将获得:

  • 高可用性:当一个节点发生故障时,另一个节点将能够接管而不会失去对数据的访问权限。例如,仍然可以在用户没有注意到错误的情况下处理HTTP会话。
  • 服务器场部署:您可以将.war部署到单个节点,其余部分将自动同步。

成本主要来自绩效:

  • 复制意味着节点之间的对象序列化。在某些情况下,这可能是不受欢迎的,但也可以fine tune

如果您只想在节点之间共享某些状态,则根本不需要群集(除非您将使用上下文或会话复制)。只需使用数据库和/或分布式缓存模型,如ehcache(或其他任何东西)。