java - 如何将j2ee应用程序分布在多台服务器上?

标签 java performance deployment jakarta-ee distribution

我使用JSP+Struts2+Tomcat6+Hibernate+MySQL作为我的J2EE开发环境。由于该项目规模较大且即将出现性能问题,因此决定将该项目部署在多台服务器上。 由于该项目是在三层架构中开发的,我们希望为每一层分配一台单独的机器,并通过千兆以太网连接将它们连接起来。所以我们需要一个数据库服务器(MySQL)、一个逻辑服务器(Struts2+POJOs)和一个Web服务器。

我认为数据库服务器和逻辑服务器之间的通信不会有问题,但连接网络服务器和逻辑服务器对我来说似乎有点令人困惑。考虑到接下来的阶段我们可能会增加每一层的服务器数量,这种情况下我的选择是什么?

任何想法将不胜感激!

[编辑]

Tomcat 是逻辑服务器的一部分,它位于 POJO 和 struts 所在的位置,我所说的 Web 服务器是前端服务器,它接受用户的请求并将其分派(dispatch)到逻辑服务器。 另一方面,我们可能想使用多个逻辑服务器。这可能吗?

顺便问一下,JMS 有什么帮助吗?

最佳答案

逻辑也需要在 Tomcat 服务器上进行。没有 Web 服务器的 Struts 毫无意义。

或者您的意思是“Web 服务器”,如“理解 HTTP 的哑文件服务器”?在这种情况下,您根本不需要连接它们; Web 浏览器将为您执行此操作:JSP/Servlet 代码会将图像和其他静态内容的 URL 发送到浏览器,浏览器将使用这些 URL 直接从“Web 服务器”下载数据。

您绝对不希望“逻辑服务器”下载这些内容并提供服务。

关于java - 如何将j2ee应用程序分布在多台服务器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5830724/

相关文章:

Java:在继续其余方法之前部署一种方法

java - 将hibernate域对象插入到不同的数据库?

java - 使用 ITextRenderer 生成 PDF 后不应用内部样式

java - 实现一组名为 `toJson()` 的 Java 泛型函数

Java 使用包含函数来匹配字符串对象忽略大写?

jquery - 在 jQuery 中绑定(bind)函数之前检查元素存在的最佳方法?

deployment - Fabric 需要很长时间才能使用 ssh

c++ - 如何有效地改变矩阵的连续部分?

iphone - 如何在运行时更改iPhone应用程序语言?

deployment - 如何将ansible字符串转换为float并使用该值与float值进行比较