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

檢視全部