當前位置:
首頁 > 最新 > 浙江移動首個基於阿里雲技術的生產應用上線成功

浙江移動首個基於阿里雲技術的生產應用上線成功

一、項目背景

為落實公司「十三五」戰略,建立「架構先進、運營高效、內外兼顧」的IT體系, 浙江移動近日受總部信息技術中心委託和指導,探索傳統企業與互聯網公司新型合作模式,跟蹤行業發展態勢,開展新技術、新產品研究和創新,在集團內首次攜手亞洲最大的雲計算公司——阿里雲,在「可監可管可運維」基礎上,開展第三方基礎組件引入試點驗證。


二、實施策略

浙江公司經過與阿里雲工程師多次討論後決定,採用分階段實施與快速試點,在降低對應用侵入的同時又要兼顧實際效應,考慮輕量級系統驗證和關鍵業務引入。試點具體分為多個階段執行,其中一階段以快速落地驗證技術組件為目標。

一階段總體原則以經歷天貓雙11核心交易業務和各類型業務考驗的阿里雲DRDS分散式關係型資料庫服務(Distributed Relational Database Service)組件在M域試點應用的快速驗證為訴求,完成「統一用戶管理」應用遷移DRDS的「短平快」功能驗證,開發上盡量以最小化改造實現DRDS的「分庫分表」、「平滑擴容」以及「無差別運維」。一階段完成後出具改造的評估報告,為二階段實施提供參考。

一階段選取了「統一用戶管理」系統作為試點,該應用原來採用了傳統中小型應用常見的前後端一體化架構,原有的資料庫為PostgreSQL。隨著業務的不斷發展,「統一用戶管理」系統的傳統基礎架構正不斷接受挑戰,其中資料庫單點瓶頸問題尤其突出,存在單庫容量平瓶頸、擴展困難、二次開發難度高、性能問題難以優化等諸多問題。

1、改造前後系統部署架構對比如下:

圖1——原「統一用戶管理」系統部署架構

圖2——「統一用戶管理」接入DRDS後的系統部署架構

2、一階段實施後的收益:

應用本身只需進行少量的介面適配工作即可接入DRDS,收益則是分散式資料庫所帶來一系列優秀特性:

1)分庫分表

支持資料庫分庫分表,在創建分散式資料庫後,可以按照業務特性設定拆分規則,實現數據水平拆分。

2)透明讀寫分離

通過使用只讀實例實現讀寫分離,可低成本增加集群讀負載能力,釋放主庫壓力,且對業務代碼透明,無需改造;同時具備一致性讀能力。

3)數據存儲平滑擴容

當出現數據存儲容量和訪問量瓶頸時,支持在線存儲容量擴展,擴容無需應用改造,擴容進度支持可視化跟蹤。

3、一階段實施過程中的挑戰:

「統一用戶管理」作為首個接入試點的應用,在一階段實施過程中先後遇到資料庫語法不兼容如何解決、如何制定拆分方案、分散式事務如何解決等問題,並一一攻克。

1)從PostgreSql到DRDS

應用原有資料庫選型為PostgreSQL,而DRDS目前僅可以無縫對接Mysql。因此,應用首先要完成資料庫切換並解決資料庫間Sql方言或特性差異的問題。

開發團隊從代碼邏輯入手,全面替換了不兼容的數據類型,並在功能測試中不斷分析SQL執行效率並進行細緻優化,為應用後續接入DRDS做好充分準備。

2)分庫分表拆分規則

應用存在若干千萬級的核心大表,在遷移到DRDS時應根據「確定業務主體——尋找關鍵欄位——計算分庫分表數」三步原則處理。

以工單操作屬性表為例,該表所有操作圍繞「工單操作」進行,因此選定applyopid(工單單號)為拆分鍵。未來預估此表1-2年的數據總量為六千萬行,根據以下公式可得此表需按照分庫且每個分庫兩個分表執行:

單庫物理分表數 = CEILING(60,000,000 / ( 1 * 8 ) / 5,000,000) = 2

圖3——分庫分表規則說明

3)分散式事務實踐—全局事務服務(Global Transaction Service,簡稱 GTS)

在對應用的幾張核心大表進行拆分後,原本存儲在單庫單表裡面的數據分散到了多庫多表裡,因而應用在對相關數據進行寫操作時會涉及到分散式事務的問題。

分散式事務管理的傳統解決方案是基於XA協議的兩段提交方式,需要進行針對性的開發,對已有業務邏輯有較大侵入,且性能較差。

經過綜合評估後,決定引入阿里雲的全局事務服務GTS。GTS具有接入簡單、與DRDS無縫銜接、對業務邏輯無侵入的特性,有效地解決了由資料庫拆分引發的一系列事務控制問題。

圖4——「統一用戶管理」系統接入GTS部署示意圖


一階段於今年2月上旬立項,春節後正式開始實施,在浙江移動和阿里雲雙方精誠合作下,前後僅用了1個多月的時間就將試點應用成功發布上線。期間重大工程里程碑如下:

1、2018年2月上旬,在春節前完成立項,春節後項目正式啟動。

2、2018年3月底,系統成功將資料庫遷移至MySQL。

3、2018年4月底,系統完成生產數據割接並正式接入DRDS。


本次合作是中國移動集團內部首次與業界先進互聯網公司的深度技術合作,在踐行集團「可監可管可運維」理念的基礎上,通過一階段試點業務的改造實踐,在組件能力、運維模式、運維工具、集成方案等方面磨合、積累、沉澱了寶貴的經驗,也在項目協作、架構匹配上,初步驗證了浙江移動與互聯網公司先進技術、理念相結合的可行性,為後續二、三階段在浙江移動的核心系統上開展更加深入的試點工作奠定了堅實基礎。

關於三墩IT人:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 阿里雲 的精彩文章:

助力南京銀行打造國內首個分散式核心業務系統

TAG:阿里雲 |