在多个服务器上分发J2EE应用程序有哪些选择?

时间:2011-05-03 07:12:36

标签: java tomcat struts2

我正在使用JSP + Struts2 + Tomcat6 + Hibernate + MySQL作为我的J2EE开发环境。项目的第一阶段已经完成,它已在单个服务器上启动并运行。由于网站规模不断扩大,预计未来我们将面临一些性能问题。

所以我们想在几台服务器上分发应用程序,这里有什么选择?

3 个答案:

答案 0 :(得分:4)

在优化任何事情之前,您应该检测瓶颈在哪里(服务,数据库......)。如果你不这样做,优化将浪费时间和金钱。

然后优化就是根据您的使用情况而定。

例如,如果您有一个只读应用程序,请添加瓶颈,Java Server和数据库,然后您可以设置两个数据库服务器和两个Java服务器。

硬件也非常重要。可能是更新硬件的最简单方法。但这只有在硬件成为瓶颈的情况下才有效。

答案 1 :(得分:2)

您可以使用任何支持群集的J2EE应用程序服务器(例如WebLogic,WebSphere,JBoss,Tomcat)。您已经在使用Tomcat,因此您可能需要使用他们的群集解决方案。请注意,每个产品都提供不同级别的群集支持,因此您在选择特定应用服务器之前应该进行一些研究(确保它是适合您需求的群集解决方案)。

将代码从独立环境移植到集群环境通常需要不可忽略的开发工作量。在许多其他事情中,您需要确保您的应用程序不依赖于文件系统上的任何本地文件(无论如何这都是一个糟糕的J2EE实践),该状态(HTTP会话或有状态EJB - 如果有的话)正确获取传播到集群中的所有节点等。作为一般规则,越无状态,向集群环境的过渡越顺畅。

答案 2 :(得分:1)

当您使用Tomcat时,我建议您查看mod_cluster。但我建议你考虑一个真正的应用服务器,比如JBoss AS。此外,请确保运行一些性能测试并了解应用程序的瓶颈在哪里。例如,如果瓶颈在数据库中,则投入更多应用程序服务器是无效的。

相关问题