Jetty和Tomcat
最近在學習Gitee里面的Star項目,發現有些項目已經開始使用Jetty,大致查了一下發現,Google已經放棄了Tomcat,把一些服務遷移到了Jetty上,對于這個黑馬,我挺感興趣的,所以把它的大致情況也整理分享下:
Jetty是什么,背后是哪家公司提供技術支持?(部分解釋來自其官網)
如果我們在網上搜索會發現,其實Jetty的全稱是Eclipse Jetty,它是Eclipse提供的Web服務器和javax.servlet容器,以及對HTTP / 2,WebSocket,OSGi,JMX,JNDI,JAAS和許多其他集成的支持。這些組件是開源的,可用于商業用途和分發。
Eclipse Jetty用于開發和生產中的各種項目和產品。Jetty可以輕松嵌入到設備,工具,框架,應用程序服務器和集群中。有關Jetty的更多用途,請參閱Jetty Powered頁面。
目前推薦使用的版本是Jetty 9,可以在Jetty下載頁面上獲得。?另外還有Jetty 8和Jetty 7的最新維護版本,
Jetty項目自2009年以來一直在Eclipse基金會托管。在此之前,Jetty的早期版本部分或完全存在于Codehaus和Sourceforge的Jetty項目中。其特征及應用大致說明如下:
|
|
具體的下載地址是:?https://www.eclipse.org/jetty/download.html
關于Jetty在Windows下的安裝部署可詳細訪問以下CDSN伙伴的網站,再次不做贅余介紹:
https://blog.csdn.net/Angelia620/article/details/84636090
?
Jetty和Tomcat的對比說明:
Jetty更輕量級。這是相對Tomcat而言的。?
由于Tomcat除了遵循Java?Servlet規范之外,自身還擴展了大量JEE特性以滿足企業級應用的需求,所以Tomcat是較重量級的,而且配置較Jetty亦復雜許多。但對于大量普通互聯網應用而言,并不需要用到Tomcat其他高級特性,所以在這種情況下,使用Tomcat是很浪費資源的。這種劣勢放在分布式環境下,更是明顯。換成Jetty,每個應用服務器省下那幾兆內存,對于大的分布式環境則是節省大量資源。而且,Jetty的輕量級也使其在處理高并發細粒度請求的場景下顯得更快速高效。
jetty更靈活,體現在其可插拔性和可擴展性,更易于開發者對Jetty本身進行二次開發,定制一個適合自身需求的Web Server。相比之下,重量級的Tomcat原本便支持過多特性,要對其瘦身的成本遠大于豐富Jetty的成本。用自己的理解,即增肥容易減肥難。
然而,當支持大規模企業級應用時,Jetty也必須要擴展,在這場景下Tomcat便是更優的。
相同點:
不同點:
架構比較?
Jetty的架構比Tomcat的更為簡單?
Jetty的架構是基于Handler來實現的,主要的擴展功能都可以用Handler來實現,擴展簡單。?
Tomcat的架構是基于容器設計的,進行擴展是需要了解Tomcat的整體設計結構,不易擴展。
性能比較?
Jetty和Tomcat性能方面差異不大?
Jetty可以同時處理大量連接而且可以長時間保持連接,適合于web聊天應用等等。?
Jetty的架構簡單,因此作為服務器,Jetty可以按需加載組件,減少不需要的組件,減少了服務器內存開銷,從而提高服務器性能。?
Jetty默認采用NIO結束在處理I/O請求上更占優勢,在處理靜態資源時,性能較高
少數非常繁忙;Tomcat適合處理少數非常繁忙的鏈接,也就是說鏈接生命周期短的話,Tomcat的總體性能更高。?
Tomcat默認采用BIO處理I/O請求,在處理靜態資源時,性能較差。
其它比較?
Jetty的應用更加快速,修改簡單,對新的Servlet規范的支持較好。?
Tomcat目前應用比較廣泛,對JavaEE和Servlet的支持更加全面,很多特性會直接集成進來
Jetty的特性及適用場景說明:
?
根據Jetty的特性分析,我們可以發現,Jetty在互聯網企業,分布式環境下,在處理高并發細粒度請求的場景下,更加靈活、高效,同時支持做二次開發,可組件進行靈活的重構或增減
在對于大規模企業級應用時,因Jetty需要進行擴展,而Tomcat則可拿來即用,更方便些。但在云計算等云化服務越來越盛行的時代,相信Jetty會有更加廣闊的應用場景,同時其開源、簡單、靈活的特性,也會為其更加廣泛的應用鋪路,小而美,比大而全,會更具有競爭優勢
?
建議:
所以趕快學起來吧,當前階段可以根據實際需要,自由選擇,以業務場景為主要衡量目標
?
總結
以上是生活随笔為你收集整理的Jetty和Tomcat的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用vs2017 作为matlab201
- 下一篇: IE6下png图片透明代码