本文分兩部分:部分1 和 部分2。部分1 介紹 AWS,部分2 介紹阿里雲和OpenStack雲。html
阿里云爲全世界多個地域提供雲計算服務,每一個地域(Region)都包含多個可用區(Avzone)。 同一個地域下的可用區都被設計爲相互之間網絡延遲很小(3ms 之內)以及故障隔離的單元。 前端
SLB: 當前提供的負載均衡實例大可能是多可用區實例,主備實例在同城不一樣可用區機房,當主實例機房出現故障,能及時進行切換,來實現容災和服務的高可用性。數據庫
RDS:跨域
爲了提供比單可用區實例更高的可用性,RDS 支持多可用區實例(也叫作同城雙機房或者同城容災實例 )。多可用區實例將主備實例部署在不一樣的可用區,當一個可用區(A) 出現故障時流量能夠在短期內切換到另外一個可用區(B)。 整個切換過程對用戶透明,應 用代碼無需變動。安全
注意:發生容災切換時應用到數據庫的鏈接會斷開,須要應用從新鏈接 RDS。只有部分地域有多可用區RDS。服務器
配置了跨域容災實例後,當實例 A’所在地域發生短時間不可恢復的重大故障時,用戶在另一個地域的實例 B’隨時能夠進行容災切換。切換完成後,用戶經過修改應用程序中的數 據庫鏈接配置,能夠將應用請求轉到實例 B’上,進而得到高於地域極限的數據庫可用性。網絡
RDS 數據複製方式有如下三種方式:架構
在阿里雲平臺上,對於中小型企業,業務量不是特別大,對異地容災要求不是特別強烈,則可採用如下高可用方案,能夠在同一地域下選擇購買雲產品。建議在VPC網絡環境下,選擇同一可用區或者同地域不一樣可用區的雲產品。負載均衡
對中大型用戶來講,但願業務系統要求具有同城容災的能力,能夠考慮在同城不一樣可用區之間對原有應用架構作一套完整的備份。若是某個能夠去出現像IDC機房斷電或者火災等故障時,能夠經過前端切換DNS來及時恢復業務。異步
備註:我認爲從Intenet到右邊方框的線條應該爲爲虛線,由於右邊的環境在正常狀況下不提供服務,而只有在左邊環境不可用後切換到右邊環境。
對於一些大型企業在業務安全全性、服務可用性和數據可靠性方面既要求具有同城容災又要求具有異地容災時,能夠採用這種容災架構方式既能夠解決單機房故障也能夠應對像地震等災難性故障。
不一樣地域之間能夠採用阿里雲的高速通道進行私網通訊,保障數據庫之間的數據實時同步,將數據傳輸延遲降到最低。故障發生時能夠經過前端DNS實現秒級切換,及時恢復業務。
說明:圖上華東的兩個環境能夠同時運行,由於都是採用可用區A裏面的 RDS-Master,當可用區A不可用時,會切換到使用可用區B 中的 RDS-Standy;當華東整個區域不可用時,會切換到華南區域中的環境。
要在OpenStack環境中實現AWS那樣的AZ架構仍是很是不容易的,主要困難包括但不限於:
在實際實現中,看到較多的案例都是每一個IDC內搭建一個OpenStack region,而後在region 內實現以機架爲單元的可用區。
根據AWS 上容災的四個場景,對OpenStack 雲容災作下總結:
容災場景 | OpenStack 雲 | 不足和問題 |
備份&恢復 | 1. 將虛機的系統盤打包爲自有鏡像,保存到對象存儲中 2. 對磁盤作快照 3. 對磁盤作備份 |
1. 若是對象存儲不能跨區域複製的話,那麼沒法跨區域拷貝自有鏡像 2. 磁盤備份的效率比較低,並且受限於對象存儲的跨區域複製能力 |
Pilot Light(Cold Standny) | 在另外一個region上建立數據庫實例,並設置數據同步機制 | 1. 數據同步方式是採用同步的仍是異步的,如何處理數據不一致 2. 恢復是須要回復應用環境,但受限於跨區域的應用系統鏡像拷貝能力,不少狀況下須要手工搭建應用環境 |
溫備 (Warm Standby) | 在另外一個region 上建立完整的但規格較小的熱備環境,但不提供服務 | 1. 跨數據中心的流量切換手段。若是是公網,能夠藉助公有云的智能DNS;若是是內網,則須要搭建跨數據中心的負載均衡。 2. 數據同步問題同上 3. 虛機鏡像問題同上 |
熱備 (Hot Standby) | 在另外一個region 上建立完整但規格較小的運行環境,承擔少部分生產流量 | 1. 跨region 流量分流手段。若是是公網,能夠藉助公有云的智能DNS;若是是內網,則須要搭建跨數據中心的負載均衡。 2. 數據同步問題同上 3. 虛機鏡像問題同上 |
參考連接: