繁体   English   中英

集群 Apache Tomcat6

[英]Clustering Apache Tomcat6

我有一个使用 Tomcat6+Struts+Hibernate+MySql 的 Java Enterprise Web 应用程序。 目前它已公开启动并在单个服务器上运行。 为了解决性能问题,我们应该将应用程序移至集群环境。 无论如何我想使用Tomcat6集群如下:

  • 负载平衡机,包括 web 服务器 (Apache+mod_proxy) 作为前端
  • 一些应用服务器机器,每台运行一个 tomcat6 实例
  • 一个 session 管理后端
  • 最后是一个数据库服务器

像这样的东西

这个

负载平衡器机器接收所有请求,并根据平衡算法将它们重定向到相应的 tomacat6 机器。 完成业务部分后,响应将返回给网络服务器,最后返回给用户。 在这种情况下,前端机器处理所有请求和响应,因此它将成为应用程序中的瓶颈点。

在Apache Tomcat集群中,有没有办法实现负载均衡机制和web服务器? 我的意思是在前端放置一个负载均衡器,并将请求/响应处理部分留给多个 web 服务器。

Tomcat 不支持内置集群。发生的是负载均衡器分发请求,因此各种 Tomcat 实例不需要知道发生了什么。

您要做的是确保您的应用程序可以处理它。 例如,您必须意识到缓存可能是陈旧的。

假设实例 1 的缓存中有 object X,并且 X 被实例 2 上处理的请求修改。实例 2 中的缓存将是正确的,来自实例 1 的缓存现在将是陈旧的。

解决方案是使用支持集群的缓存或对可修改的实例禁用缓存。 但这对 Tomcat 无关紧要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM