Tomcat 和 JBoss 之间哪个服务器更好,这似乎是一个古老的问题(确实是:)),但我还没有找到足够好的答案来解决我的问题。
我知道 Tomcat 只是一个 servlet 引擎,而 JBoss 提供了更多开箱即用的功能,但我不明白的是为什么 Tomcat 在某些情况下比 jboss 更好用。
我在某处读到 JBoss 有一个可插拔的架构,如果需要,您可以从 JBoss 中拔出功能,使其本质上成为一个 tomcat servlet 容器。如果是这种情况,那么最好这样做而不是使用 Tomcat,以便留出重新插入的空间。
我发现支持 Tomcat 的另一个解释是它是轻量级的,这是否意味着内存需求更少,或者是否也允许更快的响应。再次,我需要知道 jboss 不会根据要求加载组件,即如果我仅使用 servlet,那么 jboss 不会跳过其余功能并自动变得轻量级。
本质上,我的应用程序没有任何 Java EE 功能,但由于上述原因,支持 Tomcat 的“轻量级”论点听起来不够令人信服。
请帮忙。
编辑:当时我们最终决定使用tomcat,现在我们已经使用它超过6个月了,非常易用。事实上,我们发现了一些实际用途,我们可以非常轻松地在同一台服务器上为不同的开发人员运行多个 tomcat 实例,而使用 jboss 则可能非常困难。
我发现 tomcat 对于我们的工作来说是无忧无虑的,因此当您不使用太多 Java EE 功能时可能是正确的选择。
PS:请注意,我们仍然在 Tomcat 中使用 Spring 和 Hibernate
先说事实,两者都不是better。正如您已经提到的,Tomcat 提供了一个支持 Servlet 规范的 Servlet 容器(Tomcat 7 支持 Servlet 3.0)。 JBoss AS 是一个“完整”的应用程序服务器,其当前版本支持 Java EE 6(包括 Servlet 3.0)。
Tomcat 相当轻量级,如果您需要 Servlet API 之外的某些 Java EE 功能,您可以通过提供所需的库作为应用程序的一部分来轻松增强 Tomcat。例如,如果您需要 JPA 功能,您可以包含 Hibernate 或 OpenEJB,并且 JPA 可以工作nearly盒子外面。
如何决定使用Tomcat还是全栈Java EE
应用服务器:
当开始你的项目时,你应该知道它需要什么。如果您处于大型企业环境中,JBoss(或任何其他 Java EE 服务器)可能是正确的选择,因为它提供了内置支持,例如:
- 用于异步集成的 JMS 消息传递
- Web 服务引擎(JAX-WS 和/或 JAX-RS)
- JMX 和脚本化管理界面等管理功能
- 先进的安全性,例如与第三方目录的开箱即用集成
- EAR 文件而不是“仅”WAR 文件支持
- 我不记得所有其他“伟大的”Java EE 功能了:-)
在我看来如果涉及以 Web 为中心、面向用户的应用程序,Tomcat 非常适合。如果后端集成发挥作用,则应(至少)考虑 Java EE 应用服务器。最后但并非最不重要的一点是,将为 Tomcat 开发的 WAR 迁移到 JBoss 应该只需要 1 天的时间。
其次,您还应该考虑环境中的使用情况。如果您的组织已经运行了 1,000 个 JBoss 实例,那么无论您的具体要求如何(考虑运营成本或技能提升等方面),您都可以始终采用该实例。当然,反之亦然。
我的2分
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)