- 架構基礎:從需求到架構
- 尹洪亮編著
- 757字
- 2023-04-21 18:02:42
2.1.5 兩地三中心容災設計
兩地三中心是一種容災方案。在同一個城市或鄰近的城市(如北京、天津)建立兩個數據中心(Data Center,DC),由于距離較近,網絡延遲低,因此數據幾乎可以達到實時同步。當其中一個數據中心發生故障,如火災、地震等毀滅性事故時,可以快速將服務切換到另外一個數據中心,保證服務可以短時間內恢復。
由于兩個數據中心在鄰近的城市,對于一些地震、洪水等不可抗力因素,可能會導致兩個數據中心都不可用,因此可以在更遠的位置再部署一個數據中心,只進行數據同步備份。例如,當北京、天津的數據中心都不可用時,可以使用上海的數據進行應用重建,如圖2-15所示。

圖2-15 兩地三中心容災架構
兩地三中心容災架構的特點是同一時間只有一個數據中心對外提供服務。如圖2-16所示,北京和天津的兩個數據中心內的服務保持完全相同,同時處于運行狀態, 但是只有主數據中心(北京)對外提供服務,而從數據中心(天津)只是空跑而已。

圖2-16 雙中心災備
在日常工作中,任何的系統發布(代碼發布、數據庫DDL、服務器環境配置等)都需要在兩個數據中心執行,目的是確保環境完全一致。
數據庫采用主從模式進行數據同步,保證雙方數據一致,但是跨地區的數據同步會出現較大延遲,可以增加專線降低延遲程度。
將域名解析到北京機房,只讓主數據中心對外提供服務。當主數據中心發生災難不可用時,先將天津機房的從庫升級為主庫,然后將DNS解析到天津機房即可。
兩地三中心模式,相當于做了一個數據中心級別的熱備份;因為始終有一個數據中心處于閑置狀態,無法充分利用,所以對成本存在極大的浪費。由于一個數據中心始終處于冷卻狀態(沒有任何真實業務發生),當真正發生災備切換時,并不一定能夠正常運轉起來,所以兩地三中心只是看起來美好而已。
為了節省成本,可以只將核心業務做災備,當發生災難時優先保證企業或政府機構的核心業務可以正常運轉。