iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
2

早期尚未有微服務概念時,你可能看過以下的機器架構

  • 縱向擴充:透過加大CPU、Memory、Disk等方式,完成資源擴充

※ 這時候,會將多個服務放在同一台虛擬機

為了節省成本,我們從實體機中切出「虛擬機」,同時讓一台「虛擬機」裡面運行多個專案或服務,但因為資金不足所以「虛擬機」也無法開太多台,只好選擇加大「虛擬機」規格(例如:CPU、Memory、Disk等),但是這樣的情況往往在虛擬機異常時,上面所運行的服務與專案,全數受到影響。

  • 橫向擴充:增加虛擬機數量

※ 將多個服務放在同一台虛擬機,同時有備援機器

為了避免第一個案例的發生,有人改採用另外一種架構「不只有一台虛擬機提供服務,並且每台虛擬機都有各自的備援機器」,當線上服務的機器異常時,可以在短時間切換至「備援機」,以減少因機器異常而導致的影響,甚至透過橫向擴充的方式,實現連線LoadBalance,降低「虛擬機」的Loading。

微服務時代

(一個服務放一台虛擬機,且同時也具有備援機器)

在第二個例子,如果機器Loading突然衝高,而且沒有完善的Log監控的話,在問題查找時,其實很難知道是哪一個服務發生異常,導致機器資源被占用;也可能同時間多個服務有突發狀況,造成機器Loading衝高,就算「備援機」已經被拉上線,仍無法減輕機器負擔,服務仍呈現不正常的行為,因此產生了一個新興的架構:「微服務時代」,將服務隔離,盡量讓服務不互相影響,並且一個服務就放一台虛擬機,而且同時擁有備援機器。


上一篇
Day1 Why DevOps?
下一篇
Day3 又愛又恨的「虛擬機」
系列文
就是「懶」才更需要重視DevOps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言