您如何比较 Apache Tomcat 和 Glassfish 作为生产服务器?

Posted

技术标签:

【中文标题】您如何比较 Apache Tomcat 和 Glassfish 作为生产服务器?【英文标题】:How would you compare Apache Tomcat & Glassfish as production servers? 【发布时间】:2010-09-24 13:49:12 【问题描述】:

我有一个基于 J2EE 的系统,目前在 Apache Tomcat 上运行。我们正在讨论将生产服务器迁移到 Glassfish 服务器。

有人可以与他们中的任何一个分享他们的经验吗?

【问题讨论】:

类似问题:Java EE Web Profile vs Java EE Full Platform 【参考方案1】:

它们没有可比性。

Apache Tomcat 不是 J2EE 服务器。它只是 Web 应用程序的 Servlet 容器。而已。如果您需要 J2EE API 实现,则必须从其他地方获取。例如,使用使用 Tomcat 作为其容器的 Apache Geronimo 服务器,或者从 Glassfish 获取 JAR 文件。

Glassfish 是一个完整的 Java 应用服务器,实现了 JPA、EJB 等 API。 Glassfish 包含一个 Tomcat 最初使用的 Servlet 引擎,但他们对其进行了改进(不知道具体是什么)。最近的 glassfish 服务器使用另一个使用 grizzly 的容器,它使用 NIO API 进行输入/输出并且可以很好地扩展。据我所知,Glassfish Servlet Engine 的性能更高。在这里我找到了一个不错的基准(虽然它有点旧):

http://weblogs.java.net/blog/sdo/archive/2007/05/how_to_test_con.html

【讨论】:

如果您希望 Tomcat 具有完整的 J2EE 堆栈,我认为您应该只使用 Apache Geronimo。 是的,刚刚发现了 Geronimo。不错:)【参考方案2】:

这里是quite an old comparison。因此,每个服务器的功能无疑都得到了提升。

编辑:这里是a current comparison.

不过,对于生产用途来说,两者都足够稳定。这真的要归结为功能。

【讨论】:

您的“当前比较”现在也已过时。 New page.Even more recent(警告,PDF 链接)。 仅链接的答案不好。最好在答案中添加相关内容。您可能永远不知道链接何时会断开。【参考方案3】:

最大的问题是:为什么?您认为 Glassfish 将通过 Tomcat 或 Jetty 为您提供什么?也许是管理实用程序?

除了基本的 servlet 容器之外,您想要的大多数东西都可以轻松插入。

因此,虽然 Glassfish 还不错,但“仅仅因为”移动是没有意义的。我构建的大多数生产服务都在普通的旧 servlet 容器上,不使用任何特定于实现的功能。

【讨论】:

【参考方案4】:

这可能有点过时,甚至可能有点偏颇,但它来自 Oracle。您可以跳到将玻璃鱼与汤姆猫进行比较的部分

http://java.sun.com/developer/technicalArticles/glassfish/GFandmysql_Part1.html

【讨论】:

以上是关于您如何比较 Apache Tomcat 和 Glassfish 作为生产服务器?的主要内容,如果未能解决你的问题,请参考以下文章

美的空调glabpa-01rj

Apache Tomcat 1.7 如何将附加参数传递给 JAAS

Web服务器之iis,apache,tomcat三者之间的比较

Web服务器之iis,apache,tomcat三者之间的比较

Nginx+apache/Tomcat实现反向代理与动静分离

Apache与Nginx,tomcat的优缺点比较