云原生六大關(guān)鍵技術(shù)【上】
1.容器
容器被認(rèn)為是云原生應(yīng)用的基石,微服務(wù)容器化被作為云原生應(yīng)用的第一步。
容器是一種相對(duì)于虛擬機(jī)來(lái)說(shuō),更輕量化的虛擬化技術(shù)。能為我們提供一種可移植,可重用的方式來(lái)打包,分發(fā)和運(yùn)行應(yīng)用程序,容器比虛擬機(jī)(VM)提供了更高的效率和更快的速度。云原生代碼、依賴項(xiàng)等在運(yùn)行時(shí)被打包到容器鏡像文件中。鏡像存儲(chǔ)在鏡像倉(cāng)庫(kù)。需要時(shí),則將鏡像轉(zhuǎn)換為可運(yùn)行的容器實(shí)例。該實(shí)例可在裝有容器引擎的任何計(jì)算機(jī)上運(yùn)行,并可以按需部署任意數(shù)量的容器實(shí)例。每個(gè)容器雖然可以共享基礎(chǔ)主機(jī)操作系統(tǒng),內(nèi)存和處理器的一部分,但彼此隔離。容器的移植性保證了跨云應(yīng)用的一致性。由此,微服務(wù)隔離并打包自己的依賴項(xiàng)、更改項(xiàng),從而不影響整個(gè)系統(tǒng),開發(fā)與發(fā)布可以隨時(shí)進(jìn)行。
因?yàn)楣蚕淼讓硬僮飨到y(tǒng)和主機(jī)資源,容器所占用空間大大小于虛擬機(jī),在一臺(tái)主機(jī)上可以同時(shí)運(yùn)行多個(gè)微服務(wù)。
有了容器之后,還需要對(duì)容器進(jìn)行管理,這就是容器編排。目前,通行的容器編排調(diào)度器是Kubernetes,簡(jiǎn)稱K8s。
容器帶來(lái)的好處,不用多說(shuō),用過(guò)的都知道。使用操作系統(tǒng)(OS)級(jí)別的虛擬化,單個(gè)操作系統(tǒng)實(shí)例被動(dòng)態(tài)劃分為多個(gè)相互獨(dú)立的容器,每個(gè)容器具有唯一可寫的文件系統(tǒng)和資源配額。創(chuàng)建和銷毀容器的低開銷,以及單個(gè)instance可高密度運(yùn)行多個(gè)容器的特性使得容器成為部署微服務(wù)各個(gè)模塊的完美工具。容器使得應(yīng)用服務(wù)能從底層架構(gòu)中分離出來(lái),實(shí)現(xiàn)了完全的可移植性(在任何操作系統(tǒng)或環(huán)境上運(yùn)行應(yīng)用的能力),當(dāng)應(yīng)用程序有很多獨(dú)立組件構(gòu)成,也可以為每個(gè)組件分配一個(gè)容器。
2.微服務(wù)
微服務(wù)是將大型應(yīng)用程序轉(zhuǎn)變?yōu)樾⌒头?wù)的集合的架構(gòu)方法;每個(gè)服務(wù)實(shí)現(xiàn)單獨(dú)的業(yè)務(wù)功能,運(yùn)行在自己獨(dú)立的進(jìn)程中并通過(guò)HTTP API進(jìn)行通信。每個(gè)微服務(wù)器都可以獨(dú)立于應(yīng)用程序中的其他服務(wù)進(jìn)行部署,升級(jí),擴(kuò)展和重新啟動(dòng),通常作為自動(dòng)化系統(tǒng)的一部分,可以在不影響終端客戶使用的情況下頻繁獨(dú)立更新。
微服務(wù)是為了解決傳統(tǒng)單體應(yīng)用的缺點(diǎn)而誕生的,它是一種分布式架構(gòu)設(shè)計(jì)理念。它把應(yīng)用程序中的具體功能獨(dú)立出來(lái),抽象為『服務(wù)』。一個(gè)微服務(wù)就是一個(gè)獨(dú)立的實(shí)體,可以獨(dú)立的部署在 PAAS 平臺(tái)上,也可以作為一個(gè)獨(dú)立的進(jìn)程在主機(jī)中運(yùn)行。為了推動(dòng)細(xì)粒度服務(wù)的使用,這些服務(wù)要能協(xié)同工作,每個(gè)服務(wù)都有自己的生命周期。服務(wù)之間可以通過(guò)網(wǎng)關(guān) API、RPC(遠(yuǎn)程服務(wù)調(diào)用)、SideCar(后續(xù)文章會(huì)介紹) 等多種方式訪問(wèn),修改一個(gè)服務(wù)不會(huì)影響其它服務(wù)。
3.服務(wù)網(wǎng)格
服務(wù)網(wǎng)格(英文名:Service Mesh)是一個(gè)基礎(chǔ)設(shè)施層,用于處理服務(wù)間的通信,云原生應(yīng)用有著復(fù)雜的服務(wù)拓?fù)?,服?wù)網(wǎng)格負(fù)責(zé)在這些拓?fù)渲袑?shí)現(xiàn)請(qǐng)求的可靠傳遞,在實(shí)踐中,服務(wù)網(wǎng)格通常實(shí)現(xiàn)為一組輕量級(jí)的網(wǎng)絡(luò)代理,它們與應(yīng)用程序部署在一起,但對(duì)應(yīng)用程序透明。
云原生 容器 微服務(wù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。