容器技術和虛擬機將會處于一個長期共存的狀態(tài)。容器技術的技術出發(fā)點雖然更加輕量級,部署運行快速,但其共用了底層的kernel,因此與虛擬機方式在資源隔離性方面有先天的劣勢,將暫時無法取代虛擬機模式。雖然每一個虛擬機都是一個完整的操作系統(tǒng),卻因為需要給其分配物理資源,當虛擬機數(shù)量增多時,操作系統(tǒng)本身消耗的資源勢必增多。
成都網(wǎng)站設計、成都做網(wǎng)站的開發(fā),更需要了解用戶,從用戶角度來建設網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡公司,打造的就是網(wǎng)站建設產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務。
所以容器可以和虛擬機結(jié)合在一起使用,而且這也是目前主流的做法:
虛擬化技術出現(xiàn)以后,虛擬化技術會在本地操作系統(tǒng)之上加多一層 Hypervisor層,Hypervisor是一種運行在物理服務器和操作系統(tǒng)之間的中間軟件層,可以虛擬化硬件資源,例如cpu、硬盤、內(nèi)存資源等。然后我們可以基于通過虛擬化出來的資源之上安裝操作系統(tǒng),這也就是所謂的虛擬機。
通過Hypervisor層,我們可以創(chuàng)建不同的虛擬機,并且可以限定每個虛擬機的物理資源,并且每個虛擬機都是分離、獨立的。例如A虛擬機給它使用2個cpu、8g內(nèi)存、100g磁盤,B虛擬機給它使用4個cpu、16g內(nèi)存、300g磁盤。。。等等,這樣就可以實現(xiàn)物理資源利用率的最大化。
如此一來:
一臺物理機就可以部署多個應用,每個應用都可以獨立運行在一個虛擬機里。
虛擬化技術
有了上面的理念,就可以重新認識我們熟知的虛擬化技術:
虛擬機:存在于硬件層和操作系統(tǒng)層間的虛擬化技術。
虛擬機通過“偽造”一個硬件抽象接口,將一個操作系統(tǒng)以及操作系統(tǒng)層以上的層嫁接到硬件上,實現(xiàn)和真實物理機幾乎一樣的功能。
虛擬化技術的優(yōu)點:
資源池——一個物理機的資源分配到了不同的虛擬機里
很容易擴展——增加物理機或者虛擬機即可,因為虛擬機是可以復制的
很容易云化——亞馬孫AWS,阿里云,谷歌云等
即然虛擬化技術已經(jīng)很強大了,為什么還需要容器技術呢?這就涉及到虛擬化技術所帶來的局限性了:
每一個虛擬機都是一個完整的操作系統(tǒng),所以需要給其分配物理資源,當虛擬機數(shù)量增多時,操作系統(tǒng)本身消耗的資源勢必增多
容器:存在于操作系統(tǒng)層和函數(shù)庫層之間的虛擬化技術。
容器通過“偽造”操作系統(tǒng)的接口,將API抽象層,函數(shù)庫層以上的功能置于操作系統(tǒng)上,以Docker為例,就是基于Linux操作系統(tǒng)的Namespace和CGroup功能實現(xiàn)的隔離容器,模擬操作系統(tǒng)的功能,因為它比虛擬機高了一層,也就需要少一層東西,所以容器占用資源少。
容器可以幫我們把開發(fā)環(huán)境及應用整個打包帶走,打包好的容器可以在任何的環(huán)境下運行,這樣就可以解決開發(fā)與運維環(huán)境不一致的問題了,所以:
容器解決了開發(fā)和運維之間的矛盾
在開發(fā)和運維之間搭建了一個橋梁,是實現(xiàn)devops的最佳解決方案
以上只是描述是容器解決了什么問題,但是還沒有說明什么是容器,不過其實簡單幾句話就可以說明容器了:
對軟件和其依賴環(huán)境的標準化打包
應用之間相互隔離
共享一個OS Kernel
可以運行在很多主流操作系統(tǒng)上
JVM:存在于函數(shù)庫層和應用程序之間的虛擬化技術。
Java虛擬機具有跨平臺特性,所謂跨平臺特性實際上就是虛擬化的功勞,我們Java語言是調(diào)用操作系統(tǒng)函數(shù)庫的,然而不同操作系統(tǒng)的函數(shù)庫互不相同,JVM就是建立一個虛擬化層,對下通過不同的版本適應不同的操作系統(tǒng),對上提供統(tǒng)一的運行環(huán)境交給程序和開發(fā)者。通過虛擬化實現(xiàn)了如今蔚為壯觀的Java生態(tài)圈以及建立在JVM基礎上的其他語言,如Scala,Clojure,Kotlin等。
幾乎所有的計算機遵守著相同的層級結(jié)構(gòu):硬件層>>硬件抽象層>>操作系統(tǒng)層>>API抽象層>>函數(shù)庫層>>應用程序?qū)?/p>
由此,我們可知虛擬化技術中,不管虛擬機,還是容器,還是JVM的跨平臺,只是計算機不同層級結(jié)構(gòu)間的虛擬化運用。在未來很長的一段時間里,它們會根據(jù)實際的應用場景,互相***,互相支持。
當前名稱:虛擬化技術中,不同層級結(jié)構(gòu)間的虛擬化運用
鏈接地址:http://aaarwkj.com/article36/isjppg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、網(wǎng)站內(nèi)鏈、響應式網(wǎng)站、品牌網(wǎng)站設計、搜索引擎優(yōu)化、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)