托管多个基于tomcat的Web应用程序时的最佳做法是什么

时间:2012-05-15 11:32:22

标签: java tomcat web-applications

我知道对许多Web应用程序使用相同的tomcat实例存在一些风险(例如,如果一个Web应用程序崩溃tomcat,它也会终止其他Web应用程序。)。这样做的好处当然是成本效益,因为一台服务器已经足够,并且所有的Web应用程序都集中在一个地方,因此很容易管理。

有没有关于如何在tomcat上使用多个Web应用程序进行良好设置的行业指南?

2 个答案:

答案 0 :(得分:1)

赞成

  • 一个要监控的JVM
  • 可以共享公共库(有时候有风险)

缺点

  • 所有应用程序正在使用的公共HTTP线程池(但是,您可以使用不同的线程池配置多个连接器)
  • 一个故障应用程序可以关闭整个服务器
  • 重新启动一个应用程序需要重新启动所有应用程序(如果不使用热部署)

答案 1 :(得分:1)

您是正确的,在一个应用程序服务器/ Web容器(Tomcat或其他)上托管多个我们的应用程序会带来好处。

当一个应用程序可能导致另一个应用程序失败时,您提到了健壮性问题。但是让我们简化一下:即使你只有一个应用程序,你仍然需要24 * 7的可用性。为了实现这一目标,人们通常会在每个应用程序服务器上运行多个应用程序服务器实例,并在每个应用程序服务器上运行负载均衡器。这与几个Web应用程序相关。只需运行N(最少2个)应用程序服务器,并部署相同的Web应用程序集和负载均衡器。您可能需要一种看门狗,如果它失败或者它停止响应等,它会重新启动服务器。

在某些情况下,需要进行某种群集。但这是另一个故事。