開發與維運

雲架構、架構的原始階段和基礎階段——阿里雲 MVP喬銳傑

喬幫主的直播內容經精煉整理、分以下5篇:
一、分享介紹&架構三原則
二、雲架構、架構的原始階段和基礎階段
三、架構動靜分離和分佈式階段
四、架構數據緩存階段和兩個維度拓展階段
五、架構微服務階段

直接觀看視頻

雲架構

聊完架構的三個原則,接下來我們聊一下雲架構。
隨著雲計算的普及,在未來對IT資源的需求,都會全部通過雲平臺獲取。那雲對技術架構方面又有什麼影響及變革呢?
image.png

我們先來看看IT三大體系發展方面:
(1)、物理機體系階段:傳統IOE的架構,其實是物理機的典型代表。對計算資源的使用,需要我們去購買或者租用對應的硬件。

(2)、然後到了雲計算體系階段:基於傳統硬件服務器基礎上,通過虛擬化及分佈式技術形成對應的雲資源平臺。對計算資源的使用,我們如同使用水和電一樣,在雲資源平臺上按需索取即可,而我們不用再關注和底層物理硬件打交道。

(3)、最後到達容器體系階段:我們既不用關注底層是物理硬件,也不用關注雲平臺用的是亞馬遜、還是阿里雲,我們業務都能無縫過渡及運行。讓我們對計算資源的使用,脫離硬件、甚至各個雲平臺的依賴。容器就是大家熟知的Docker技術,有點類似Java的JVM,可以跨平臺部署,不依賴底層環境,不管是硬件環境還是雲平臺等等。

這三大IT體系,那在IT技術架構方面又有什麼樣的變化呢(看一下圖中的箭頭方向,也就是我們技術架構演變進化的方向)
由物理機體系中的單機架構、集群架構,演變到雲計算體系中的分佈式架構,然後最終演變到容器體系中的微服務架構。

接下來主要通過現如今最流行的Web類應用的案例場景,跟大家詳細分享在雲端如何從一個單機的簡單架構,演變成千萬級的大型架構。

架構的最原始階段:萬能的單機

image.png

架構的最原始階段,即一臺ECS服務器搞定一切,我們叫萬能的單機。傳統官網、論壇等應用,只需要一臺ECS。對應的 Web服務器、數據庫、靜態文件資源等,都部署到一臺ECS上即可。一般5萬PV到30萬PV訪問量,結合內核參數調優、結合web應用性能參數優化、以及結合數據庫調優,基本上都能穩定的運行。在架構原始階段,採用的雲產品,僅僅採用一臺ECS部署即可。該階段技術特點主要有兩個:
一個是應用服務器+數據庫+文件數據都部署在一起,另外一個是在傳統物理機IT體系下,小型機是單機架構的初期典型代表,用一臺小型機(都是高配、幾百G的內存)主要部署核心應用及業務。

那當我們訪問壓力增大,就進入下一階段,架構的基礎階段:物理分離Web和數據庫。

架構的基礎階段:物理分離Web和數據庫

image.png

當我們訪問壓力達到50萬PV到100萬PV的時候,部署在一臺服務器上面的web應用及數據庫等服務應用,會對服務器的系統資源CPU/內存/磁盤/帶寬進行爭搶。顯然單機已經出現性能瓶頸。我們將web應用和數據庫物理分離單獨部署,解決性能資源爭搶的問題。

在雲端我們主要把數據庫單獨剝離出來,部署在RDS中即可,所以這階段採用的雲產品,相比上階段,主要增加了RDS。那架構基礎階段的技術特點是什麼呢?主要有兩點:
第一點
在架構原始階段,我們用一臺服務器部署應用服務、數據庫、文件數據。隨著壓力增加,我們架構的演變其實也就是解耦部署的應用服務、數據庫、文件數據。物理分離是架構解耦的開始,即解耦應用服務和數據庫。解耦戰術,其實也決定了架構的高度。

第二點
雖然Web應用服務和數據庫分離,但是web應用服務和數據庫都還是單點部署,整體存在單點故障問題,即web應用服務或數據庫宕機,就影響業務正常訪問了。

所以在我們傳統物理機體系中:IOE的單機架構(即:IBM的小型機、和Oracle數據庫、和EMC存儲),是單機架構中典型的代表。都是高配性能的計算資源,在這個階段的架構,業務基本都是單機部署。有時候數據庫和業務代碼都甚至部署在一臺高配機器上,完全要靠單機的硬件性能來支持更多業務訪問。

當訪問壓力進一步增大,就到達了架構動靜分離階段:靜態緩存 + 對象存儲階段。
下一篇:架構動靜分離和分佈式階段

Leave a Reply

Your email address will not be published. Required fields are marked *