色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 模糊查詢多個,可以用docker代替虛擬機

林玟書2年前24瀏覽0評論
mysql 模糊查詢多個,可以用docker代替虛擬機?

Docker中文叫容器,和虛擬機有很多相似之處,也有諸多不同之處。用來運行生產系統,都是沒問題的。虛擬機具有普適性,而Docker的輕量化更適合微服務架構的應用,下面我們就來了解一下:

1、Docker和虛擬機異同點

①、虛擬機

說起虛擬機我們都非常熟悉。它利用虛擬化技術將操作系統和物理服務器脫離關系,虛擬機通過虛擬層和宿主物理服務器打交道。這樣,我們的宿主物理服務器只要性能足夠,就可以運行大量的虛擬機。而虛擬機因為脫離了物理硬件的捆綁關系,也就具備了很多優點:

完整性:虛擬機就是打包了操作系統、虛擬硬件等等的一組文件,它具有真實計算的完整功能;獨立性:虛擬機和虛擬機之間本身是互相隔離的,就算兩臺虛擬機在同一臺宿主機上,也不會因為其中一臺虛擬機出問題,導致另外一臺虛擬機出問題。可移植性:整個虛擬機是一組文件,可以很方便的復制遷移。一遷移就是這個系統都遷移出去了。高可用性:虛擬機因為和物理服務器脫離了捆綁關系,它可以在被虛擬化的服務器中自由漂移。任何一臺物理服務器出現故障,虛擬機并不會因此無法工作。同時,當然虛擬化平臺還提供了性能負載均衡和災備的一些特性。高性能:單個虛擬機是無法突破宿主物理服務器的性能的,那如果要實現更大的性能,虛擬機可以組建集群,將集群虛擬機分布在不同的物理服務器中來實現。

當然,虛擬機不止我這里說的好處。它是云計算的最基礎技術,沒有它就無法實現云計算。

②、Docker

Docker是在虛擬機之后才出現的技術。它也是在操作系統之上的輕量化虛擬技術。它可以運行在傳統的物理服務器上,也可以運行在虛擬機之中。它是將應用系統的運行環境和應用軟件打包在一起的技術,它也具備很多優點:

獨立性:每一個Docker都是一套應用軟件和配套環境,和其他Docker是互相隔離的;便捷性:軟件從開發者手上開發出來到使用者這邊,只需一個Docker鏡像就可以把開發者的完整環境搬到使用者這邊。無需重新配置環境。可移植性:Docker的可移植性主要是應用軟件和環境可以快速遷移。高可用:Docker本身無法實現高可用。它需要借助分布式管理平臺來實現高可用性,比如:著名的谷歌K8S,是一整套非常不錯的分布式管理程序,已經可以實現所謂的“容器云”高性能:同樣是通過分布式管理平臺,來實現多個Docker的集群。性能不夠就加Docker。

③、兩者相同點和不同點

虛擬機和Docker都具有高可用和高性能的特點,他們都是一種虛擬化的技術。但兩者也存在很多的不同點:

虛擬機的虛擬化處在更宏觀的層面,操作系統都被打包進去。優點在于無需重裝系統,而且虛擬化可以和硬件直接打交道,性能調度掌握在虛擬平臺上,缺點在于,每一個虛擬機都需要運行一套操作系統。而Docker的虛擬化則在更微觀的層面,它并不是完整計算環境,它只打包了應用程序和環境,所以,缺點在于調度硬件的性能取決于外在操作系統,同時,Docker太多后關系非常復雜,人工是很難理清楚性能問題和故障的,還好容器平臺都有自動化工具。它的優點就是非常輕量化,應用可移植性非常強,對軟件開發來說非常方便。2、Docker可以取代虛擬機的地方

通過上面虛擬機和Docker的對比發現,Dokcer更適合當前采用微服務架構的應用軟件開發、部署、運維的所有過程。那到底什么是微服務架構呢?

這個起源于互聯網公司,互聯網的軟件都是需要快速上線,持續迭代更新,又有大量的輕量并發訪問。基于這些特點,互聯網公司通常將一個大型的應用程序和服務拆分為數個甚至數十個的支持微服務,通常擴展單個組件而不是整個的應用程序堆棧,從而滿足互聯網訪問這種特性。這就是我們常說的微服務。架構對比示意圖如下:

從圖中,我們可以看到傳統架構是一個緊耦合的應用,各個模塊都是集成在一個應用里面。不僅應用對性能要求高,數據庫對性能要求也高。自然不適合Docker來做,更適合虛擬化或者物理集群來做。而微服務架構則不同,拆散成了很多個微小的服務組件,這樣就比較適合Docker來開發部署了。

當然,現在微服務架構已經不局限在互聯網公司用了。只要具有互聯網軟件相似特點的應用,都可以采用微服務架構來開發。所以,Docker也就被用的越來越多。但Docker和虛擬化并不是互相排斥的,反而是相互貫通的。

3、Docker和虛擬機是互相貫通的

因為Docker是微型虛擬化的容器,它可以運行在物理機操作系統上,也可以運行在虛擬機的操作系統之上。所以,Docker和虛擬機并不互相矛盾。反而是相輔相成的。現在,很多互聯網應用都是在虛擬機組建的云端上部署Docker應用。這樣既有云計算的彈性性能提供,也有Docker快速靈活部署應用的特點。是相輔相成的絕佳方法。

總結

總之,Docker是輕量級的虛擬化,只打包軟件和軟件運行環境。而虛擬機則是打包操作系統的重量級虛擬化。兩者之間有虛擬化的共同特點,也有自己的獨特性。在實際使用中,Docker非常適合采用微服務架構的軟件開發、部署、運維。而虛擬機則普適性比較廣,但它和Docker是互相貫通的,相輔相成的,并不矛盾沖突。

感謝閱讀!我是數智風,用經驗回答問題,歡迎評論關注。