《微服務(wù)架構(gòu)設(shè)計(jì)模式》讀書筆記---第十二章:部署微服務(wù)應(yīng)用

部署包含兩個(gè)相關(guān)聯(lián)的概念:流程和架構(gòu)

部署流程包括一些由開發(fā)人員和運(yùn)維人員執(zhí)行的步驟,以便將軟件投入到生產(chǎn)環(huán)境。
部署架構(gòu),定義了該軟件運(yùn)行的環(huán)境結(jié)構(gòu)。

四種部署選項(xiàng):

  1. 使用編程語言特定的發(fā)布包格式部署服務(wù),例如JAVA JAR或者WAR文件。
  2. 將服務(wù)部署為虛擬機(jī),把服務(wù)打包為虛擬機(jī)鏡像
  3. 將服務(wù)部署為容器
  4. 使用Serverless部署模式部署服務(wù)。

使用編程語言特定的發(fā)布包格式部署服務(wù)

好處是快速高效;高效的利用資源,一臺(tái)機(jī)器上,可以運(yùn)行多個(gè)實(shí)例

弊端是:

  1. 缺乏對(duì)技術(shù)棧的封裝,運(yùn)維團(tuán)隊(duì)需要了解每個(gè)服務(wù)的細(xì)節(jié),以準(zhǔn)備對(duì)應(yīng)的環(huán)境和web容器。
  2. 無法約束服務(wù)實(shí)例消耗的資源
  3. 同一臺(tái)服務(wù)器上運(yùn)行多個(gè)服務(wù)實(shí)例,缺乏隔離

將服務(wù)部署為虛擬機(jī)

將作為虛擬機(jī)鏡像打包的服務(wù)部署到生產(chǎn)環(huán)境中,每個(gè)服務(wù)實(shí)例都是一個(gè)虛擬機(jī)。
好處:

  • 封裝了技術(shù)棧
  • 隔離的服務(wù)實(shí)例

弊端:

  • 資源利用率較低
  • 部署速度較慢。構(gòu)建鏡像,從鏡像實(shí)例化虛擬機(jī)都比較耗時(shí)
  • 系統(tǒng)管理的額外開銷。需要負(fù)責(zé)更新鏡像的操作系統(tǒng)和運(yùn)行時(shí)打補(bǔ)丁

將服務(wù)部署為容器

在構(gòu)建時(shí),部署流水線使用容器鏡像構(gòu)建工具,該工具讀取服務(wù)代碼和鏡像描述,以創(chuàng)建容器鏡像并將其存儲(chǔ)在鏡像倉庫中。在運(yùn)行時(shí),從個(gè)景象倉庫中拉取容器鏡像,并用于創(chuàng)建容器。
好處是:

  • 封裝技術(shù)棧
  • 服務(wù)實(shí)例是隔離的。
  • 服務(wù)實(shí)例的資源收到限制

弊端,還是需要負(fù)責(zé)更新鏡像的操作系統(tǒng)和運(yùn)行時(shí)打補(bǔ)丁

Serverless部署

之前的三種部署方式,

  1. 都會(huì)存在資源浪費(fèi)的情況,例如即使處于閑置狀態(tài),也需要為容器和虛擬機(jī)付費(fèi)
    2.需要負(fù)責(zé)系統(tǒng)管理,必須承擔(dān)操作系統(tǒng)和軟件打補(bǔ)丁的工作

Serverless提供一種受約束的編程模型,以換取最小化的系統(tǒng)管理開銷。如果需要更加精細(xì)化的管理基礎(chǔ)設(shè)施,那么就不要選擇Serverless
以AWS Lambda為例,只需要將應(yīng)用程序打包為ZIP或者JAR文件,上載到AWS Lamdba,并指定相應(yīng)請(qǐng)求的函數(shù)名稱。AWS Lambda會(huì)自動(dòng)運(yùn)行你的微服務(wù)實(shí)例來影響請(qǐng)求,只需要為所花費(fèi)的時(shí)間和消耗的內(nèi)存付費(fèi)。

好處:

  • 消除系統(tǒng)管理任務(wù)
  • 彈性,不需要預(yù)測負(fù)載,而判斷實(shí)例數(shù)量。AWS Lamdba會(huì)幫忙處理。
  • 基于使用情況定價(jià)

弊端:

  • 長尾延遲。AWS需要花費(fèi)時(shí)間來配置應(yīng)用程序?qū)嵗蛦?dòng)應(yīng)用程序,可能導(dǎo)致某些請(qǐng)求具有高延遲。
  • 基于有限事件與請(qǐng)求的編程模型。不適應(yīng)長時(shí)間運(yùn)行的服務(wù),例如消息代理服務(wù)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容