Tomcat和Jetty的比较

172

我想了解每个服务器在生产环境下的缺点。有没有人遇到过某些功能的大问题? 如性能等。我也快速浏览了一下新的Glassfish,它是否与简单的servlet容器相匹配(至少它似乎有一个不错的管理界面)?


3
即使这个问题很老,但我今天才看到它。说到生产环境,我想补充一下,谷歌选择了Jetty作为Google App Engine的服务器。http://www.infoq.com/news/2009/08/google-chose-jetty - stivlo
1
有人提名重新开放这个问题,但它是一个基于观点的讨论问题。也许历史锁定会更合适,但我看不出重新开放的必要性。 - Adi Inbar
我曾经使用Tomcat作为Socket服务器的经验,但最终我选择使用Jetty。在这种情况下,该服务器更容易设置并且文档记录得很好。 - Kaira
3个回答

83

我喜欢Jetty,因为它的维护成本低。只需解压即可使用。而Tomcat则需要更多的配置和更高的维护成本,且更加沉重。此外,Jetty的continuations非常酷。

编辑:2013年,有报道称Tomcat变得更容易使用。请参见评论。我没有验证过。


12
这并没有特别回答问题,尤其是关于性能方面。如果这意味着更好的性能,我不介意更多地调整配置。 - John
4
@John:我对两者都没有性能问题,否则我会提到的。我有一种感觉 Jetty 更快,但还没有需要证明它的必要。 - Vinko Vrsalovic
4
Tomcat 只需要解压并运行即可。 - frandevel
2
这对我来说看起来不太正确,Tomcat也是开箱即用的。 - Audrius Meškauskas
截至2020年,我认为新项目应该使用Spring Boot - Audrius Meškauskas
显示剩余3条评论

18

我认为Tomcat更受应用程序的讨论和支持,Jetty则更具可移植性并且可以嵌入应用程序中。此外,Jetty具有很好的continuations特性。


“嵌入应用程序”是什么意思? - Sankalp
@Sankalp 这意味着你可以在一个应用程序中运行Jetty服务器。 - Jerry Chin

5

我喜欢Jetty可以嵌入应用程序,因此它不需要在Web容器中运行(Hudson和Nexus是两个可以在此模式下运行的应用程序)。Tomcat能做到这一点吗?


34
当然可以。 - ggarber
5
有一个嵌入式的Tomcat。 - F.O.O
1
更准确地说:嵌入Tomcat已经有十多年的历史了,但是随着2011年Tomcat 7.x的推出,它变得更加容易。与Jetty相比,复杂度没有实质性的区别。例如,请参见http://arhipov.blogspot.com/2011/03/embedded-tomcat-minimal-version.html或https://www.hascode.com/2013/07/embedding-jetty-or-tomcat-in-your-java-application/。 - winne2
肯定可以使用Maven完成。有一个Maven插件。https://metamug.com/article/generate-build-run-webapp-maven-command-line-tomcat.html - Sorter
2
如果我没记错的话,Spring Boot 自带一个嵌入式 Tomcat 用于 Web 应用程序,并且作为独立应用程序运行,因此我们可以快速启动 GUI 而无需部署到任何外部 Web 服务器。 - Stunner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接