这是 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第六届年度 Java 使用与认知研究(2006 年 12 月)提出了一个类似的问题:您公司目前使用哪些 Java 应用程序服务器? 允许多项选择,因此总计超过 100%。再次明确的领导者是 Tomcat,占 64.3%,其次是 WebSphere 的 36.9%,JBoss 的 32%,WebLogic 的 23.7%。

这次民意调查之间的差异可能部分原因在于 Spring 在大型企业客户中取得了特别成功。因此,我们在 Spring 用户中看到了“大家伙”产品(即大型主机产品)的过度代表。

然而,Tomcat 的领导地位毋庸置疑,这在两个结果中都得到了一致体现。其他正在研究该领域的分析公司,例如 the 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 的采用率有所上升。但 Tomcat 的吸引力不仅仅是 Web 开发人员;SOA 开发人员也在关注。“Java EE 服务器并非当今 SOA 的全部,”Goulde 说,“还有很多其他选择。”

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

然而,这引出了一个有趣的问题:Tomcat 能否做到这一点? 市场是否有足够的动力来确保一个或多个供应商开始添加缺失的功能?一个有趣的因素是,性能最高的网格/集群解决方案本身不是应用服务器,而是 GigaSpaces、Oracle Coherence 和 IBM ObjectGrid 等专用解决方案。没有理由认为高可用性功能必须与 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 社区所有即将举行的活动。

查看所有