㈠ 各種容器和伺服器之間的區別和聯系
平時我們經常看到各種容器名稱:Servlet容器、WEB容器、java WEB容器、Java EE容器等,還有各種伺服器名稱:應用伺服器、WEB伺服器、WEB應用伺服器、JavaWEB應用伺服器、Java EE伺服器等,這么多相似名稱,難以弄明白它們之間的區別與聯系。
下面我們嘗試從它們的定義中,區分它們,找出他們之間的聯系,最後通過Apache、nginx、tomcat等舉例說明容器以及伺服器的聯系。
如上圖,我們先來看下容器與伺服器的聯系:容器是位於應用程序/組件和伺服器平台之間的介面集合,使得應用程序/組件可以方便部署到伺服器上運行。
容器通常理解就是裝東西的,我們這里說技術上的容器就是 可以部署應用程序,並在上面運行的環境 。
一般來說,它處理屏蔽了伺服器平台的復雜性,使得應用程序在它的基礎上可以方便快捷的部署;而對於應用程序來說,它就是位於 應用程序和平台之間的介面集合 。
容器管理組件的生命周期,向應用程序組件分派請求,並提供與上下文數據(如關於當前請求的信息)的介面。
Servlet:屬於Java EE重要技術規范,構建了"接收請求--調用servlet程序處理--返回響應"基本模型。
Servlet程序:Java提供了開發Servlet程序的API,該API可以說Servlet容器的一部分,它對接應用程序與Servlet容器;
Servlet容器:就是實現了Servlet技術規范的部署環境,它可以部署運行Servlet程序。
WEB容器:可以部署多個WEB應用程序的環境。web容器給處於其中的應用程序組件(jsp,servlet)提供一個環境,使JSP,Servlet直接跟容器中的環境變數交互,不必關注其他系統問題。
Java WEB容器:實現了 Java EE規定的WEB應用技術規范 的部署環境。
Java EE WEB應用技術規范:Servlet、JSP(JavaServer Pages)、Java WebSocket等。
所以,完整的Java WEB容器包含Servlet容器。
伺服器是提供計算服務的設備。由於伺服器需要響應服務請求,並進行處理,因此一般來說伺服器應具備承擔服務並且保障服務的能力。
簡單來說,伺服器是 提供某些服務的設備 。
應用程序:是指為針對使用者的某種應用目的所編寫的軟體。
應用伺服器:就是運行應用程序,提供應用程序所實現服務的設備。
通常來說, 伺服器端的應用程序實現各種業務邏輯,應用伺服器通過各種協議把這些業務邏輯曝露給客戶端的程序 。它提供了訪問商業邏輯的途徑,以供客戶端應用程序使用。應用伺服器使用此業務邏輯就像調用對象的一個方法一樣。
WEB:現廣泛譯作網路、互聯網等技術領域。表現為三種形式,即超文本(hypertext)、超媒體(hypermedia)、超文本傳輸協議(HTTP)等。
WEB伺服器:或者叫 HTTP Server ,主要用於操作Http請求,包括接受客戶端的請求以及響應。它可以處理請求,也可以將請求轉發至其他伺服器。
簡單來說,WEB伺服器是提供網上信息瀏覽等WEB服務的設備。 Apache、Nginx、IIS是目前最主流的三個Web伺服器。可以用它們來構建WEB應用伺服器,通常它們發現一個請求是動態請求,就通過CGI、ISAPI、特殊管道等協議介面調用後面的應用伺服器來協同處理請求。如Nginx通過fastCGI模塊來調用ZendEngine執行PHP應用來處理PHP請求。
上面我們 把應用伺服器和WEB伺服器 嚴格區分:應用伺服器通過應用程序介面(通常是網路請求API)把業務邏輯暴露給客戶端應用程序。而WEB伺服器通過HTTP提供靜態內容給瀏覽器等客戶端。
如果不嚴格區分,應用伺服器包含WEB伺服器,因為WEB伺服器是WEB服務應用程序實現的。
WEB應用伺服器:結合應用伺服器和WEB伺服器,可以說,它是帶應用伺服器的Web伺服器,接收HTTP請求後,既能返回頁面等靜態內容,又能處理業務邏輯返回數據。
Tomcat、Jetty、WebLogic、Websphere、JBoss都是Java(EE) WEB應用伺服器。拿最常用的Tomcat來說,Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技術的開源實現。
Java EE伺服器是實現Java EE技術規范,並提供標准Java EE服務的應用程序伺服器。
Java EE伺服器有時稱為應用伺服器,因為它們允許您向客戶端提供應用數據,就像Web伺服器向Web瀏覽器提供Web頁面一樣。
一個典型的JavaEE系統可以由兩部分構成首先是Web Server 用於處理靜態資源,然後是JavaEE Application Server 用於處理業務的動態資源。而這兩部分可以是單獨的伺服器例如Nginx+WebSphere也可以在一個伺服器上完成比如Tomcat(Tomcat即可以處理靜態資源又可以處理動態的Servlet)。
從概念上講:Web伺服器是提供WWW服務的程序;Web容器是提供給開發者的框架;Web應用程序伺服器內容豐富得多,既可用各廠商通常遵循一定的工業標准並自定義擴展功能而成,也可以利用開源組件輕量級拼裝打造。
㈡ 容器、應用伺服器和web伺服器有什麼區別
應用伺服器和web伺服器的區別
首先我們應該對應用伺服器和web伺服器有一個清晰的概念。所謂的應用伺服器,就是提供應用的伺服器,這里的應用有很多,比如java應用,ruby 應用,或者 c#應用。
那麼什麼是web伺服器呢?就是提供了web功能的伺服器,主要就是http服務,包括圖片的下載,等等一系列和web相關的。
好吧,你會問為什麼我們不能直接使用應用伺服器呢?應用伺服器也提供了http服務,比如tomcat。
那麼我們從實際出發。當你瀏覽一個網頁的時候,什麼情況下你會覺得速度很慢?我們僅僅考慮頁面本身。那當然是圖片越多顯示得越慢。
好吧,我們至少認識到一點,一些靜態資源,例如圖片,會嚴重影響頁面打開的速度。當然,這僅僅是一個方面。
那麼web伺服器有什麼用呢?web伺服器一個優點就是在處理靜態信息上。例如一些靜態的html,圖片,等等其他靜態的東西
㈢ docker容器與虛擬機有什麼區別
Docker有著小巧、遷移部署快速、運行高效等特點,但隔離性比伺服器虛擬化差:不同的集裝箱屬於不同的運單(Docker上運行不同的應用實例),相互獨立(隔離)。但由同一個庫管人員管理(主機操作系統內核),因此通過庫管人員可以看到所有集裝箱的相關信息(因為共享操作系統內核,因此相關信息會共享)。伺服器虛擬化就好比在碼頭上(物理主機及虛擬化層),建立了多個獨立的「小碼頭」—倉庫(虛擬機)。其擁有完全獨立(隔離)的空間,屬於不同的客戶(虛擬機所有者)。每個倉庫有各自的庫管人員(當前虛擬機的操作系統內核),無法管理其它倉庫。不存在信息共享的情況因此,我們需要根據不同的應用場景和需求採用不同的方式使用Docker技術或使用伺服器虛擬化技術。例如一個典型的Docker應用場景是當主機上的Docker實例屬於單一用戶的情況下,在保證安全的同時可以充分發揮Docker的技術優勢。
㈣ 容器指的是什麼東西
容器指的東西是用以容納物料並以殼體為主的基本裝置。常用作儲存設備或其他化工設備的外殼。主要由殼體、封頭、接管、法蘭和支座組成。對容器的基本要求是,滿足工藝需要,保證操作安全,包括具有足夠的強度、剛度以及密封性,耐腐蝕,具有一定的使用壽命,便於製造、安裝、維修和使用,成本低,材料節省,尤其要節約不銹鋼和有色金屬等貴重材料。
計算機容器介紹說明
容器是應用伺服器中位於組件和平台之間的介面集合。容器是伴隨著瘦客戶端系統的發展而誕生的。在開發瘦客戶端系統時,開發人員要花費大量的精力去關注線程安全、事務、網路、資源等等細節,從而降低了開發效率。
由於這些對這些細節的解決方法一般是固定不變,或者只有參數改變的,所以從代碼重用和設計模式的角度出發,開發人員將這些底層細節提取出來,做成平台,並提供一定的介面。這樣,業務開發人員就不需要在關注與這些底層細節的實現,而專注於業務邏輯的實現。
容器一般位於應用伺服器之內,由應用伺服器負責載入和維護。一個容器只能存在於一個應用伺服器之內,一個應用伺服器可以建立和維護多個容器。
容器一般遵守可配置的原則,即容器的使用者可以通過對容器參數的配置,來達到自己的使用需求,而不需要修改容器的代碼。
㈤ 主機和伺服器的區別是什麼
兩者是包含和被包含的關系,主機是一個統稱,所有伺服器都是主機,但並非所有主機都是伺服器。 主機和伺服器的主要差別在於,主機是連接到網路的計算機或其他設備,而伺服器是連接到網路中提供服務的軟體或硬體設備。
什麼是計算機網路?計算機網路是互連在一起,以通信和共享資源為目的的計算機的集合 。而主機和伺服器就是計算機網路中的兩個術語。在計算機網路中定義的計算機,不僅僅只是台式機、筆記本電腦等,而是包括所有智能計算設備,比如智能手機、智能家電等。所以一般情況下,計算機和主機可以理解為等價的。
什麼是主機?狹義上的主機,一般是指台式機除掉顯示器、滑鼠鍵盤之外的那個容器 ,這個主機一般用於放置主板、電源、硬碟等硬體設備。
在廣義上,任何可以連接到網路的計算機設備都是主機 ,包括但不限於台式機、筆記本電腦、智能手機等。網路上每個主機的地位是平等,每個主機都有一個IP地址,不同的主機通過IP地址進行識別和進行通信。
什麼是伺服器?伺服器也是主機,但伺服器是向網路中的其他設備提供服務的軟體或硬體設備 。包括軟體設備的原因,是虛擬機雲主機也是主機。客戶端是獲得伺服器服務的軟體或硬體。一台伺服器可以連接多個客戶端,而一個客戶端可以連接到多個伺服器。客戶端和服務端是相對,當一台伺服器向另外一台伺服器獲取服務時,它也是客戶端。
一般情況下, 伺服器用於一對多的情況下提供服務,所以它的硬體配置比普通計算機更好 ,比普通計算機運行更快、負載更高、價格更貴。
在一些小型公司,在費用緊缺的情況下,通常會使用普通台式機啟用共享,為相同部門或不同部門之間共享資料,這時這台台式機就可以視為一台伺服器,它在提供服務。
伺服器按照提供服務的不同,可以分為Web伺服器、文件伺服器、資料庫伺服器、郵件伺服器和應用程序伺服器等 。
主機和伺服器的差異所以可以總結一下,主機和伺服器的區別:
主機是任何可以連接到網路的計算機設備,而伺服器是向網路中的其他設備提供服務的軟體或硬體設備。
伺服器一般是指提供服務的主機
總結主機是一個統稱,所有伺服器都是主機,但並非所有主機都是伺服器。 主機和伺服器的主要差別在於,主機是連接到網路的計算機或其他設備,而伺服器是連接到網路中提供服務的軟體或硬體設備。
文|技術猿小黃 圖|來源於網路如果您有什麼想法或建議,歡迎下方留言評論。
主機就是你個人使用的計算機,它是相對於服務端來說的。主機可以認為是客戶端的計算機,是個人在客戶端完成各種編輯操作的計算機,而伺服器是客戶端瀏覽網頁提供應程序服務的響應端,或者說是服務端,當然,既然是服務端,就是為各種客戶端或者說是主機進行相應的服務,也就是提供相應的數據,存儲,計算等功能。
伺服器是統稱,伺服器更多應用在於服務。
主機常常是指伺服器的主體部分。伺服器是基於主機這個硬體基礎上的。
其實主機和伺服器是相對而言的。伺服器就是電腦,電腦就是伺服器。然而你就可以把伺服器看做成一台再普通不過的電腦,他是一個獨立的主機,只不過是一個做服務的電腦。
我們平時要做為真正的伺服器來使用時(一般是企業),伺服器的硬體要求要比普通的個人PC要求要高的多。比如WEB伺服器,要24小時不能離線。所以在散熱,耐熱等方面就比普通PC要高很多。
伺服器對數據的安全性做的很好,所用的內存也是具有糾錯能力的。伺服器最重要的並不是高速和性能,而是高穩定性,即長時間正確的能力,而電腦主機主要用於個人的簡單應用的和家庭 娛樂 ,因此更注重性能。
主機和伺服器的區別
伺服器支持r9的顯卡 但不支持rx型號的
伺服器可以支持內存64多g 當還可以雙拼cup單拼起來比較麻煩
然後主機就看你處理器是什麼型號來搭配
其實主機和伺服器是相對而言的。伺服器就是電腦,電腦就是伺服器。然而你就可以把伺服器看做成一台再普通不過的電腦,他是一個獨立的主機,只不過是一個做服務的電腦。
我們平時要做為真正的伺服器來使用時(一般是企業),伺服器的硬體要求要比普通的個人PC要求要高的多。比如WEB伺服器,要24小時不能離線。所以在散熱,耐熱等方面就比普通PC要高很多。
伺服器對數據的安全性做的很好,所用的內存也是具有糾錯能力的。伺服器最重要的並不是高速和性能,而是高穩定性,即長時間正確的能力,而電腦主機主要用於個人的簡單應用的和家庭 娛樂 ,因此更注重性能。
伺服器 一般不配顯示器,人很少在上邊做工作,只是響應其它 計算機請求的