標籤:

如何在阿里雲上構建高可用的跨AZ部署方案

引言:

針對企業而言,不管業務是不是在雲上,服務的穩定和連續性總歸是無法迴避的話題,為了降低不可抗力因素對服務提供造成的影響,我們有了高可用性和容災的概念。雖然我們的產品已有很高的可用性,我們仍不能忽視構建服務高可用性和容災的重要性。

針對一般企業而言,主要會用到ECS, SLB, RDS, OSS

產品介紹:

ECS

雲伺服器。相當於阿里雲上的虛擬機,本身沒有高可用性和容災,需要通過架構來實現。

SLB

負載均衡,高可用性和容災可以從兩點來闡述:

1. 負載均衡的服務提供是基於集群部署的,各集群有一定數量的節點,避免了單點故障,個別或者部分節點伺服器宕機不會影響負載均衡服務的提供。

2. 當前提供的負載均衡實例大多是多可用區實例,主備實例在同城不同可用區機房,當主實例機房出現故障,能及時進行切換,來實現容災和服務的高可用性。

多可用區實例分布可以參考:

help.aliyun.com/documen

RDS

雲資料庫。

單機基礎版RDS:help.aliyun.com/documen

雙機高可用版RDS:在同一可用區有主備實例,在主實例出現故障時候可以進行主備切換,具有高可用和容災特性.

多可用區RDS:主備實例在不同可用區

RDS之間還可以用DTS同步和遷移數據。

OSS

文件以chunk分塊方式存儲,默認每塊存三副本,並分布在不同機架的ChunkServer節點上。在盤古集群中Master允許宕機1台,Chunkserver允許同時宕機2台,KVServer與WS允許宕機多台。

基本架構:

一. 多可用區SLB + 不同可用區ECS

如下圖所示,在負載均衡實例下綁定不同可用區的 ECS,當可用區A未出現故障時,用戶訪問流量如藍色實線所示;當可用區A發生故障時,用戶訪問流量的分發將變成黑色虛線,這樣即可以避免因為單個可用區的故障而導致對外服務的不可用,也可以通過不同產品間可用區的選擇來降低延遲。

搭建:

1.創建多可用區SLB實例

登錄阿里雲控制台,選擇負載均衡,點擊右上角「創建負載均衡」按鈕

以華北2為例,購買主可用區B、備可用區A的多可用區實例。

2.在SLB主備可用區分別創建ECS實例

分別在華北2可用區A和B創建測試實例,本例中採用默認安全組,經典網路,1核1G內存CentOS 7.2實例。

3.創建監聽並添加後端伺服器

在控制台負載均衡界面,找到創建的實例,點擊「管理」

點擊後端伺服器,選擇未添加的伺服器,找到對應實例並點擊「添加」

我們可以在已添加界面看到對應ECS實例及其權重

點擊左側監聽欄,選擇「添加監聽」,根據需要選擇監聽屬性。本例中採用TCP四層模式,監聽80埠,後端轉發80埠,使用默認加權輪詢,並開啟會話保持,使用默認1000s超時時間。

設置健康檢查為TCP模式,檢查後端80埠

之後我們可以在監聽頁面看到添加的監聽及其狀態。

後續客戶只需要在ECS上部署相關服務並監聽80埠,並將域名解析到SLB公網IP,那麼負載均衡即可將請求轉發到後端ECS並提供服務。

二. 多可用區SLB + 不同可用區ECS +高可用RDS

多可用區版RDS:

對於沒有多可用區RDS的地域,可以在對應可用區分別建立一台RDS,其中備用可用區的作為備庫,跟主可用區的RDS實例進行同步。

搭建:

多可用區RDS的情況:

在多可用區SLB和不同可用區ECS的基礎上,購買rds實例:

只有部分地域有多可用區RDS:

購買後可以在控制台查看:

同樣在控制台我們可以查看RDS高可用信息以及進行主備切換:

不同可用區分別搭建RDS的情況:

分別在可用區A和B購買雙機高可用RDS。然後創建DTS同步

具體同步作業創建參考:

help.aliyun.com/documen

三.高可用性-異地容災

在前面同城多可用區的情況下,異地也部署一套環境。

具體訪問哪邊可以配置DNS解析,RDS用DTS同步。

推薦閱讀:

「直播聯盟」解3大難題,為何偏偏由樂視雲執牛耳?
什麼是雲支付?
分散式系統設計:PART I 單點模式
國內哪個雲平台比較靠譜?
雲計算九條定律

TAG:雲計算 |