2011-05-03 38 views
1

我使用JSP + Struts2 + Tomcat6 + Hibernate + MySQL作为我的J2EE开发环境。该项目的第一阶段已经完成,并在一台服务器上运行。由于网站规模的扩大,预计未来我们会面临一些性能问题。在多个服务器上分发J2EE应用程序有哪些选择?

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

+0

a)【约5年前J2EE已经重新命名为Java EE】(http://java.com/en/about/javanaming.jsp)b)关于你在说什么,没有什么EE。它是一个简单的web应用程序,可以在任何servlet容器上运行,并且不需要Java EE应用程序服务器(不管怎样,Tomcat不是Java EE兼容的) – 2011-05-03 07:25:35

回答

1

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

4

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

然后,优化是例如取决于你的使用情况。

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

硬件也很重要。可能是更新硬件的最简单方法。但是这只有在硬件是瓶颈时才会起作用。

2

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

将代码从独立移植到集群环境通常需要不可忽视的开发工作量。在确保应用程序不依赖文件系统上的任何本地文件(无论如何这都是错误的J2EE实践)之前,需要确保您的应用程序(HTTP会话或有状态的EJB - 如果有的话)传播到群集中的所有节点等等。通常,越无状态,转换到群集环境越平滑。

相关问题