服務部署-單實例單節點 1 定義 2 上下文和問題 3 解決方案 4 優缺點

1 定義

Single Service Instance per Host(單實例單節點)是一種常用的微服務部署模式,微服務的一個實例獨立部署在一臺主機之上,實例獨佔該主機運行。該模式有兩種變體:Single Service Instance per VM(單實例單虛擬機)和Single Service Instance per Container(單實例單容器)。

2 上下文和問題

系統採用了微服務架構模式並將系統劃分爲一組服務,爲了吞吐量和可用性每個微服務部署多個實例。考慮服務具有下面的特點,如何打包和部署服務是一項挑戰:

  • 服務使用不同的編程語言,框架或不同版本的框架編寫
  • 爲了提高吞吐量和可用性,每個服務有多個實例
  • 服務必須獨立部署和擴展
  • 服務實例互相隔離
  • 需要快速構建並部署一個服務
  • 服務使用的資源(cpu和內存)可控制
  • 監控每個服務實例的行爲
  • 服務部署是可靠的
  • 儘可能經濟高效的部署服務

3 解決方案

採用單實例單節點的模式部署服務實例,每個實例獨佔主機,兩種相關的變體便是:單實例單虛擬機和單實例單容器,現在容器技術應用的越來越廣泛,單實例單容器部署模式得到了廣泛的應用。

3.1 單實例單虛擬機部署

將服務打包爲VM鏡像,每個服務實例都是使用該鏡像啓動的VM實例。


單實例單容器部署

將服務打包爲容器鏡像,並將服務實例以容器的方式部署。


4 優缺點

4.1 優點:

  • 服務互相隔離
  • 不存在資源和依賴衝突
  • 一個服務實例最多消耗一個虛擬/容器的資源
  • 監控、管理、部署服務的每個實例非常的簡單直接

4.2 缺點:

  • 資源利用率不高
  • 需要更多的虛擬機/容器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章