是 Tomcat,还是房间里的大象?

工程 | Rod Johnson | 2007年12月24日 | ...

有时,重要的变化会悄然发生。这些变化不是由营销活动驱动的,而是由许多个人的决定驱动的;没有大张旗鼓;当它们被观察到时,它们已经有了令人惊讶的势头。我在最近的Spring Experience会议的开幕主题演讲中提到了这样一个发展:Tomcat 的稳步崛起。

最近,我们开始在SpringFramework.org上进行投票,一些结果很有趣。问题您使用哪些应用程序服务器?产生了以下结果:BEA WebLogic(各种版本)和 JBoss AS 在 Java EE 应用服务器中并列第一,各占 16%,IBM WebSphere 紧随其后,占 15%,Glassfish 的表现也值得称赞,占 5%。但轻松获胜者是 Tomcat,占 37%。

研究公司 BZ Research 的 第 6 届年度 Java 使用情况和认知度研究,来自 2006 年 12 月,提出了类似的问题:您的公司目前正在使用哪些 Java 应用程序服务器?。允许多个答案,因此总计超过 100%。明显的领导者仍然是 Tomcat,占 64.3%,领先于 WebSphere,占 36.9%,JBoss 占 32%,WebLogic 占 23.7%。

调查之间的差异可能部分可以解释为 Spring 在大型企业客户中特别成功。因此,我们看到大型产品在 Spring 用户中被过度代表。

但是,毫无疑问的是 Tomcat 的领导地位,这在两个结果中都是一致的。其他正在研究该领域的分析公司,例如 451 Group,也发现了类似的结果。

一些有趣的收获

  • IBM 的 WebSphere 在采用方面非常强大。我们在客户帐户中看到了这一点。
  • <li>Tomcat is a clear leader. It may well be the elephant in the room. This is particularly interesting given that <i>no large (or even medium sized) vendor is promoting Tomcat.</i> The Tomcat numbers aren't driven by vendor marketing, but by thousands of companies making similar decisions.</li>
    
  • 从我们在客户帐户中的观察来看,我预计 JBoss 的很大一部分数字实际上是 Tomcat。许多认为他们正在使用 JBoss 的用户实际上正在使用效率较低的 Tomcat 形式。一个例子是法国税务局的在线税务服务,它是 JBoss 和 Spring 的公共参考。
  • Tomcat 的受欢迎程度部分归功于它比传统的 Java EE 服务器更轻巧、更简单。这并不意味着它只是一个简化的 EE 服务器——这意味着它可能更适合 SOA 正在打破公司内部孤岛的环境,而这些孤岛曾经拥有传统的烟囱式架构。开放源码领域最杰出的分析师之一 最近在对此的一个有趣评论中被引用
    Forrester Research 的高级分析师 Michael Goulde 表示,自 2005 年以来,他已经看到 Tomcat 的使用率上升。但不仅是 Web 开发人员在听 Tomcat 的喵喵声;SOA 开发人员也在倾听。“Java EE 服务器不再是当今 SOA 的全部。还有很多其他选择,”Goulde 说。

当然,Tomcat 并不是 WebSphere 或 WebLogic 的完整替代品。它仍然缺少这些产品具有的许多重要的企业功能,尽管它在集群等重要领域取得了进展,并且与几年前相比,其性能有了很大提高。在这一点上,它不是一个苹果对苹果的比较,而更类似于 Oracle 与 MySQL。如果您需要 Oracle 擅长的一些东西,例如它的事务模型,那么 MySQL 就没有吸引力。(我就是那种重视这些东西的人。)另一方面,如果您正在实施许多驱动 Internet 的应用程序,那么撇开成本不谈,MySQL 可能是更好的技术选择。

但是,这提出了一个有趣的问题:Tomcat 会到达那里吗?市场是否有足够的动力来确保一个或多个供应商开始添加缺失的功能?一个有趣的因素是,性能最高的网格/集群解决方案不是应用服务器本身,而是 GigaSpaces、Oracle Coherence 和 IBM ObjectGrid 等专业解决方案。HA 功能无需与 Java EE 服务器关联。

您可以在 WebLogic 上比在 Tomcat 上更容易地运行大型部署的差异与 Java EE 规范无关,而与 QoS 和可管理性有关。例如,对于绝大多数用户来说,WebLogic 并不优越,因为 EJB(他们不需要)或 JCA 或许多其他基本上无关的 Java EE 规范。这完全是 BEA 客户群的需求所带来的超出规范的东西。BEA 在过去几年的定位反映了对此的认识,强调 WebLogic 可以适应多种编程模型,并为 SOA 提供“坚如磐石的基础”。IBM 几乎没有追逐 API,仍然离 Java EE 5.0 的认证实现还有一段距离,并且在 WebSphere 产品页面上发表了关于 SOA 而不是 Java EE 的类似定位声明。

在开源时代,用于应用程序服务器的传统 API 主导的销售已被 QoS 销售所取代。Java EE 6“配置文件”可能有助于规范这一点。有趣的是,最需要担心的应用服务器供应商很可能是 Red Hat。如果应用服务器是 QoS 销售而不是 API 销售,那么 JBoss AS 在 API 上与 BEA 和 IBM 匹配但在 QoS 上不匹配的事实可能不足以证明其使用优于 Tomcat。

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

更进一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部