雙向同步助力企業快速複製異地多活
客戶之聲
隨著企業的高速發展及國際化步伐的加速,很多基於單地域構建技術架構的企業用戶麵臨著諸多問題,包括:
(1) 對於用戶分布較廣的業務,部分用戶需要跨地域遠距離訪問服務,訪問延遲大,直接影響用戶體驗。
(2) 當業務依賴的區域出現城市故障時,直接導致服務不可用,給公司帶來不可估量的經濟損失及公司品牌的負麵影響。
為了有效解決這些問題,保證服務的持續可用,目前業界比較熱門的技術架構當屬“異地多活”。所謂異地多活,顧名思義,就是在不同地域提供業務中心,同時每個業務中心都會支撐服務流量。相較於“異地災備”,異地多活架構具備如下優勢:
(1) 成本較低,異地災備需要進行業務的全量異地備份,主業務中心正常時,災備中心並不提供服務,備份成本極高。
(2) 業務流量隨時切換,異地多活的所有數據中心都支撐業務流量,所以當任意一個業務中心出現故障時,可以直接將流量切換到其他數據中心。相對而言,異地災備由於不是一直承擔流量,所以一旦業務中心出現問題時,未必敢將流量切到災備中心,因為不知道切過去業務是否能正常運行。
(3) 可擴展性強,異地多活其實是在多個數據中心分攤業務流量,所以有效緩解了單一地區的業務壓力。
異地多活架構中,為了支持業務流量在各個地域之間的靈活切換,必須解決各個業務中心之間的數據同步問題。阿裏雲數據傳輸服務DTS支持RDS實例之間的雙向同步,幫助您實現業務中心之間的數據同步,保證數據全局一致,從而實現異地多活技術架構的快速複製。 數據傳輸服務DTS從2013年起,已連續4年平穩支撐了阿裏巴巴異地多活(3個業務中心)底層的全局數據同步。自2014年在阿裏雲為用戶提供服務以來,DTS已經為上萬用戶提供可靠、穩定的數據流服務。
數據傳輸服務DTS異地多活解決方案
DTS支持異地多活架構中數據層之間的數據同步,實現數據全局一致。下麵是一個簡單的異地多活業務架構圖:
如上圖所示,業務按照某個維度將流量切分到各個業務中心(亦稱單元)。切分維度的選擇要遵循如下原則:
(1) 拆分後,需要實現業務的單點寫。例如按照會員切分,那麼同一個會員的訪問隻能在某個業務中心單點寫。
(2) 拆分維度要能夠盡量保證業務在單元內封閉,即所有的業務請求都能夠在單元內完成,以減少跨地域的訪問調用。
對於用戶分布比較廣的業務,可以根據用戶分布進行業務中心部署區域的選擇。例如國際化業務,可以選擇中國、歐洲、北美 等多點進行業務中心的部署,區域附近的用戶的業務請求直接落在就近區域,以最大程度降低用戶訪問延遲,從而有效提升用戶體驗。
當流量切分到各個單元後,各個單元的數據層均會有數據寫入,通過DTS進行數據層的數據雙向同步,實現數據全局一致。當某個業務中心(單元)出現故障時,可以修改流量切分規則將流量秒級切換到其他單元,從而有效得保證了業務的持續可用,完美得避免了故障造成的經濟損失及對公司品牌的影響。
寫在最後
DTS所實現的全局數據同步是異地多活架構的基礎,具體的業務流量切分還需要根據業務實際情況設計實現。
除了提供異地多活能力,DTS還能幫助您實現業務零停機遷移、實時數據倉庫、查詢/報表分流、係統異步消息通知、輕量級緩存更新等業務需求。
最後更新:2017-07-15 20:34:03