Apache/Tomcat/JBOSS/Jetty/Nginx/WebLogic/WebSphere之間的區別

2020-08-08 20:45:31

Apache/Tomcat/JBOSS/Nginx區別 .

1、Apache是Web伺服器,Tomcat是應用(Java)伺服器。Tomcat在中小型系統和併發存取使用者不是很多的場合下被普遍使用。Apache支援靜態頁,Tomcat支援動態的。

2、Jetty:Tomcat內核作爲其Servlet容器引擎,並加以審覈和調優.大中型系統可以應用。能夠提供數據庫連線池服務,還支援其他 Web 技術的整合,譬如PHP、.NET 兩大陣營.

3、JBoss是一個管理EJB的容器和伺服器,但JBoss核心服務不包括支援servlet/JSP的WEB容器,一般與Tomcat或Jetty系結使用。

4、Nginx是目前效能最高的HTTP伺服器。其特點是佔有記憶體少,併發能力強。Nginx程式碼完全用C語言從頭寫成。

所以:Apache–Nginx;Tomcat–Jetty;JBoss。這三組可以組合了。

具體描述:

一、Apache+Tomcat

Apache支援靜態頁,Tomcat支援動態的,比如Servlet等,

一般使用Apache+Tomcat的話,Apache只是作爲一個轉發,對JSP的處理是由Tomcat來處理的。

Apche可以支援PHPcgiperl,但是要使用Java的話,你需要Tomcat在Apache後臺支撐,將Java請求由Apache轉發給Tomcat處理。

Apache是Web伺服器,Tomcat是應用(Java)伺服器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認爲是Apache的擴充套件,但是可以獨立於Apache執行。

這兩個有以下幾點可以比較的:

◆兩者都是Apache組織開發的

◆兩者都有HTTP服務的功能

◆兩者都是免費的

不同點:

Apache是專門用了提供HTTP服務的,以及相關設定的(例如虛擬主機、URL轉發等等)

Tomcat是符合Java EE的JSP、Servlet標準下開發的一個JSP伺服器:Tomcat在中小型系統和併發存取使用者不是很多的場合下被普遍使用。

二、Jetty

而Jetty採用業界最優的開源Java Web引擎,將Java社羣中下載量最大,使用者數最多,標準支援最完備的Tomcat內核作爲其Servlet容器引擎,並加以審覈和調優。單純的Tomcat效能有限,在很多地方表現有欠缺,如活動連線支援、靜態內容、大檔案和HTTPS等。除了效能問題,Tomcat的另一大缺點是它是一個受限的整合平臺,僅能執行Java應用程式。企業在使用時Tomcat,往往還需同時部署Apache WebServer以與之整合。此設定較爲繁瑣,且不能保證效能的優越性。

Jetty通過使用APR和Tomcat本地技術的混合模型來解決Tomcat的諸多不足。混合技術模型從最新的操作系統技術裡提供了最好的執行緒和事件處理。結果,Jetty達到了可延伸性,效能參數匹配甚至超越了本地Apache HTTP伺服器或者IIS。譬如Jetty能夠提供數據庫連線池服務,不僅支援 JSP 等 Java 技術,同時還支援其他 Web 技術的整合,譬如PHP、.NET 兩大陣營。

三、Nginx

Nginx具有很高的穩定性。其它HTTP伺服器,當遇到存取的峯值,或者有人惡意發起慢速連線時,也很可能會導致伺服器實體記憶體耗盡頻繁交換,失去響應,只能重新啓動伺服器。例如當前apache一旦上到200個以上進程,web響應速度就明顯非常緩慢了。而Nginx採取了分階段資源分配技術,使得它的CPU與記憶體佔用率非常低。nginx官方表示保持10,000個沒有活動的連線,它只佔2.5M記憶體,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩定性而言,nginx比lighthttpd更勝一籌。

四、JBoss

JBoss一個基於J2EE的開放原始碼的應用伺服器.JBoss是一個管理EJB的容器和伺服器,但JBoss核心服務不包括支援servlet/JSP的WEB容器,一般與Tomcat或Jetty系結使用。

JBoss與Web伺服器在同一個Java虛擬機器中執行 JBoss執行後後台管理介面,Servlet呼叫EJB不經過網路,從而大大提高執行效率,提升安全效能。

WebLogic、WebSphere、JBOSS、Tomcat之間的區別

1:產品介紹:

weblogic

WebLogic是美國bea公司出品的一個application server確切的說是一個基於j2ee架構的中介軟體。BEA WebLogic是用於開發、整合、部署和管理大型分佈式Web應用、網路應用和數據庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、整合、部署和管理之中。

webSphere

WebSphere是 IBM 的整合軟件平臺。它包含了編寫、執行和監視全天候的工業強度的隨需應變 Web 應用程式和跨平臺、跨產品解決方案所需要的整個中介軟體基礎設施,如伺服器、服務和工具。WebSphere 提供了可靠、靈活和健壯的整合軟體。

JBoss

JBoss是一個管理EJB的容器和伺服器,支援EJB 1.1、EJB 2.0和EJB3.0的規範。但JBoss核心服務不包括支援servlet/JSP的WEB容器,一般與Tomcat或Jetty系結使用。2006年,Jboss公司被Redhat公司收購。

Tomcat

Tomcat是Apache 軟體基金會的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支援,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現,Tomcat 5 支援最新的Servlet 2.4 和JSP 2.0 規範。因爲Tomcat 技術先進、效能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web 應用伺服器。

2:價位不同:

JBoss與Tomcat的是免費的。

WebLogic與WebSphere是收費的,而且價格不菲。

3:開源性不同:

 JBoss與Tomcat的是完全開源的,而其他兩個不是。

4:對技術的支援:

  Tomcat不支援EJB,JBoss是實現了EJB容器,再整合了Tomcat。

WebLogic與WebSphere都是對業內多種標準的全面支援,包括EJB、JSB、JMS、JDBC、XML和WML,使Web應用系統的實施更爲簡單,並且保護了投資,同時也使基於標準的解決方案的開發更加簡便。

5:擴充套件性的不同:

WebLogic和WebSphere都是以其高擴充套件的架構體系聞名於業內,包括客戶機連線的共用、資源 pooling以及動態網頁和EJB元件羣集。

6:應用範圍的區別:

Tomcat 是一個小型的輕量級應用伺服器,在中小型系統和併發存取使用者不是很多的場合下被普遍使用,是開發和偵錯JSP 程式的首選。

WebLogic和WebSphere是商業軟體,功能齊全強大,主要應用於大型企業的大型專案。

JBOSS 主要應用於EJB服務的中小型公司。

7:商業服務和技術支援的區別:

因爲JBoss和Tomcat都是開源免費的,所有它倆也就沒有任何商業服務和技術支援,而WebLogic和WebSphere的技術文件和相關服務還是很到位,如果你的伺服器哪一天出問題了,只要你能出的起錢,他們的技術工程師立刻就能出現在你面前。

8:安全性問題

因爲JBoss和Tomcat都是開源的,所以它們的安全性相對來說比較低,萬一應用伺服器本身有什麼漏洞,你是沒辦法向Apache索賠的。

而WebLogic和WebSphere其容錯、系統管理和安全效能已經在全球數以千記的關鍵任務環境中得以驗證。

9:與數據庫的緊密結合性:

如果硬體成本比軟體成本高許多,那不如使用weblogic/Websphere。其中的道理太簡單了,爲什麼電信/銀行/移動之類的公司使用Oracle或DB2數據庫,而不選用mysql。單靠tomcat是無法支援那麼多的併發量,有錢的話還是選擇商業產品。