阿里雲高可用-容災解決方案

摘要: 即使阿里雲產品自己就有容災、高可用的特徵,可是由於一些用戶對阿里雲產品的不瞭解和自身應用架構不夠合理,也根本沒法使其發揮該優點。前端

這兩天,一篇名爲《IT之家因沒法忍受阿里雲而遷移至XX雲》的文章引發了整個雲計算行業的熱議。(袋鼠雲CTO江楓還專門寫了一篇熱評:點擊閱讀原文。)web

從目前獲得的信息看,其應該是在青島區域購買了一臺雲服務器ECS,基於.net和自建SQL Server,而且應用和數據庫跑在同一臺雲服務器上。數據庫

IT之家,全部應用都部署在單臺ECS上,不具有高可用的特性。後端

即使阿里雲產品自己就有容災、高可用的特徵,可是由於一些用戶對阿里雲產品的不瞭解和自身應用架構不夠合理,也根本沒法使其發揮該優點。安全

其實,IT之家的事情不是個例,有不少其餘企業在這方面很頭疼。服務器

因此,袋鼠雲技術專家結合以往實踐經驗,總結出了一套切實可行的《阿里雲高可用-容災解決方案》,但願能和各位阿里雲上用戶一塊兒探討。網絡

 

1、阿里雲產品容災-高可用介紹架構

 

一、 SLB 容災-高可用介紹

阿里雲SLB產品使用開源軟件LVS+keeplived實現4層的負載均衡。負載均衡

採用淘寶的Tengine實現7層的負載均衡。全部負載均衡均採用集羣部署,集羣之間實時會話同步,以消除服務器單點,提高冗餘,保證服務穩定。在各個地域採用多物理機房部署,實現同城容災。運維

SLB在總體設計上讓其可用性高達99.99%。且可以根據應用負載進行彈性擴容,在任意一臺SLB故障或流量波動等狀況下都能作到不中斷對外服務。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
圖一

 

二、 ECS 容災-高可用介紹

 

雲服務器ECS實例是一個虛擬的計算環境,包含了 CPU、內存、操做系統、磁盤、帶寬等最基礎的服務器組件,是ECS提供給每一個用戶的操做實體,就如同咱們平時使用的虛機。

但須要確認的是,ECS自身是沒有容災和高可用方面的功能。

因此當咱們在單臺ECS服務器上部署各類應用時,特別是對於那些將應用服務,數據庫服務等都打包安裝在單臺ECS服務器時就更要注意這點了。

那ECS自身沒有容災-高可用這樣的功能,對於在單臺ECS上部署各類服務,一旦ECS故障就只能眼睜睜的看着它down機對外中止服務麼?

此時若是產品自身沒有容災和高可用功能,咱們能夠從架構上來彌補這個短板。

好比:在應用前端購買SLB產品,後端相同應用部署至少兩臺ECS服務器,或者是使用阿里雲的彈性伸縮技術,根據自定義ECS自身資源的使用規則來進行彈性擴容。這樣即使其中一臺ECS服務器down機或者資源利用超負荷,也不會使咱們的服務對外終止。

ECS具有的一些優點:

穩定性: 服務可用性高達 99.95%,數據可靠性高達 99.9999999%。

容災備份: 每份數據多份副本存儲。

彈性擴容:支持在線不停機升級帶寬;5分鐘內停機升級CPU和內存。

成本低:無需一次性大投入,按需購買,彈性付費,靈活應對業務變化。

 

三、OSS 容災-高可用介紹

 

阿里雲對象存儲服務(簡稱OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。

OSS底層依託於盤古存儲,採用分佈式架構部署,無單點故障存在。文件以chunk分塊方式存儲,默認每塊存三副本,並分佈在不一樣機架的ChunkServer節點上。在盤古集羣中Master容許宕機1臺,Chunkserver容許同時宕機2臺,KVServer與WS容許宕機多臺。KV集羣採用CS架構,故障自動恢復, 對應用透明,WS爲無狀態接入層,經過SLB實現容錯與負載分擔。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
圖二 

 

四、RDS 容災-高可用介紹

 

阿里雲關係型數據庫(簡稱RDS):是一種穩定可靠、可彈性伸縮的在線數據庫服務。

RDS默認採用主備架構(備用實例正常狀況下對用戶不可見),兩個實例位於不一樣服務器,自動同步數據。主實例不可用時,系統會自動將數據庫鏈接切換至備用實例。切換是分鐘級別,並且不須要人工介入,所有由系統自動完成,應用系統也無需任何變動。這種架構足以知足90% 用戶的高可用需求。

 

以下圖:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
圖三

 

用戶若是對系統可用性有更高的要求,但願能夠作到機房容災,阿里雲RDS能夠選擇購買多可用區RDS。多可用區是在單可用區的級別上,將同一地域的多個單可用區組合成的物理區域。相對於單可用區RDS實例,多可用區RDS例能夠承受更高級別的災難,以下圖:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

圖四:RDS同城容災架構

 

除了同城容災以外,對於數據可靠性有強需求用戶,好比是有監管需求的金融業務場景,RDS提供異地災備實例,幫助用戶提高數據可靠性。

RDS經過數據傳輸服務(DTS)實現主實例和異地災備實例之間的實時同步。主實例和災備實例均搭建主備高可用架構,當主實例所在區域發生突發性天然災害等情況,主節點(Master)和備節點(Slave)均沒法鏈接時,可將異地災備實例切換爲主實例,在應用端修改數據庫連接地址後,便可快速恢復應用的業務訪問。

 

以下圖:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

圖五:RDS異地容災架構

 

 

2、容災-高可用架構方案

 

一、雲上容災-高可用架構--通用架構

 

在阿里雲平臺上,對於中小型企業,業務量不是特別大,對異地容災要求不是特別強烈,則可採用如下高可用方案(以下圖:圖六),能夠在同一地域下選擇購買雲產品。建議在VPC網絡環境下,選擇同一可用區或者同地域不一樣可用區的雲產品。

同時建議ECS服務器至少兩臺,避免單點故障,在前端購買SLB,提供負載功能,這樣當後端ECS資源使用緊張時能夠直接橫向擴展,對業務無影響。

另外,數據庫業務儘可能不要和應用服務部署在同一臺ECS上。防止不一樣服務之間資源搶佔,同時方便平常管理和後期擴容。數據庫服務器推薦直接購買RDS產品,數據安全有保障,同時也不須要花太多精力去運維管理。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

圖六

 

二、雲上容災-高可用架構—同城容災

 

對中大型用戶來講,但願業務系統要求具有同城容災的能力,能夠考慮在同城不一樣可用區之間對原有應用架構作一套完整的備份。若是某個能夠去出現像IDC機房斷電或者火災等故障時,能夠經過前端切換DNS來及時恢復業務。

以下圖:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
圖七

 

三、雲上容災-高可用架構—同城異地容災

 

對於一些大型企業在業務安全全性、服務可用性和數據可靠性方面既要求具有同城容災又要求具有異地容災時,能夠採用這種容災架構方式既能夠解決單機房故障也能夠應對像地震等災難性故障。

不一樣地域之間能夠採用阿里雲的高速通道進行私網通訊,保障數據庫之間的數據實時同步,將數據傳輸延遲降到最低。故障發生時能夠經過前端DNS實現秒級切換,及時恢復業務。

以下圖:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
圖八

 

想要更多瞭解阿里雲產品及實踐案例

相關文章
相關標籤/搜索