這是 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 社群所有即將舉行的活動。

檢視所有