隨著信息技術的發展,金融行業已經進入4.0時代,金融服務已經突破傳統的服務邊界,變得無處不在,這對銀行的戰略布局、營銷模式以及IT系統提出更高的要求。
中信銀行信用卡中心於2017年開始啟動分布式新核心系統建設,目標是擴展業務範疇、完善經營模式、提升活躍客戶量、提升業務交易量。要求核心系統具備架構的前瞻性,構建資源可擴展的開放平臺,能夠快速響應業務大規模增長,實現面向決策的核心信用卡系統。
中信銀行卡中心新核心系統於2019年10月27號正式開業。採用中信銀行與中興通訊聯合研發的分布式資料庫GoldenDB來承載核心業務系統,該資料庫是國內第一家在大型股份制銀行信用卡核心系統成功落地的國產分布式資料庫。
GoldenDB分布式資料庫
GoldenDB主要由4個功能模塊節點構成:
GoldenDB產品架構圖
中信銀行核心資料庫應用實踐
中信銀行信用卡核心系統,主要包括授權、帳務、數據服務等三塊業務系統。每種業務場景不一樣,性能要求也不一樣,分布式優化方案也各有側重點。另外,如何保證在儘可能短的時間內,順利正確地完成數據遷移也是非常重要的。
核心分布式資料庫部署
核心系統的三個業務內部的故障不能相互感染。因此,在設計業務連接實例時,把業務連接的計算節點進行物理隔離,杜絕業務故障的傳染性。且業務系統要求的隔離級別和運行模式也不一樣,在集群配置上也能做到統一管理,靈活多變,方便後期運維管理。
在底層數據節點,配置的X86伺服器性能很高,從成本和可用性上考慮,一個數據伺服器中部署了兩個資料庫實例,不同伺服器之間做交叉主備,同時主備機磁碟也相互獨立。保障單機內主備機磁碟IO隔離,單機異常也不會影響系統可用性。
中信銀行核心業務系統架構圖
核心業務分布式設計應用實踐
卡中心核心業務中最重要的業務是授權聯機交易業務,對時延非常敏感,以快捷支付業務為例,單筆業務30多條SQL語句,時延必須小於40ms。因此,替換分布式資料庫後,必須消除分布式帶來入侵性並提供穩定的高性能服務。
中信銀行信用卡新核心分布式設計
首先,在數據模型方面,所有業務表按照客戶號進行拆分。大表先分表再分區,減少單分片上的壓力。常用的小表加載到Redis上,減少網絡消耗的同時,提升數據查詢性能。
其次,梳理交易場景,對業務進行分布式優化。優化後的交易,GoldenDB僅作簡單路由,業務語句直接下推到DB層執行,減少分布式事務開銷,提升業務響應時間。
最後,增加業務映射表,減少業務層的複雜性。在核心系統內添加客戶號映射表,業務中只需增加獲取客戶號的流程,即可方便的拿到客戶號,這樣後續業務中的事務控制就可直接下推到資料庫底層DB節點完成,業務層不必關注事務控制邏輯。
最終性能壓測達到1.8W TPS達到上線標準,穩定通過網聯4500TPS壓測,以及雙11和雙12實際考驗。
核心批處理業務分布式應用實踐
批處理業務的特點就是在一定時間窗口內,集中處理一批數據文件。這個期間內業務會調起大量的並發,在短時間內完成跑批作業,對於分布式系統來說,如何做好跑批作業的分布式優化也是難點。
如按照原有邏輯批量處理業務,業務統一按照分布式業務場景處理,部分業務場景未優化,並行度不高,我們對業務進行了分布式和非分布式業務場景的識別,優化邏輯處理流程。梳理出可分布式改造的業務場景,數據文件先導入到的分片表中,然後對一個分片內的數據進行批量操作,所有分片並行處理,提升並行度,縮短了處理時間。
業務劃分後,從系統穩定性角度出發,再梳理批處理業務邏輯,按照業務場景並行處理批處理作業。提升業務的並發度,降低系統資源壓力。
最終核心日終批處理性能提升1倍,處理時長優化到1.5小時以內。
核心數據遷移應用實踐
數據遷移作為卡中心核心系統下移關鍵一步,整個遷移要在很短的窗口期內完成,業務會以數十萬的並發來加快遷移過程,大量遷移數據會使得網絡長期維持在高負荷的狀態。要求資料庫能夠在高並發、重負載的業務場景下,提供穩定可靠的數據服務。
中信銀行信用卡新核心數據遷移流程
數據遷移的主要流程:外圍系統數據文件通過文件傳輸平臺落到共享存儲上,舊核心的DB2數據文件通過FTP下載到Hadoop集群,通過調用MCO轉碼工具轉碼後,生成標準的數據文件落到HDFS上。遷移工程運行在容器雲中,通過生成insert語句和調用遷移工具兩種方式將兩部分數據遷移到GoldenDB內:
在整個遷移過程中,採用了如下方案確保數據遷移的效率:
整個核心業務投產數據遷移期間,最大活躍連接數達到24萬,網絡流量峰值達到900MB/s。在這種極端的業務場景下,歷經了數十次的演練,順利完成了核心業務投產數據遷移工作。
自2014年以來,中信銀行與中興通訊共同研發分布式資料庫GoldenDB,穩中求進,不斷深入。在冠字號、門戶網站、金融同業平臺、統一零售積分系統、電商管家、開放銀行、用戶權益系統以及信用卡中心核心系統陸續成功投產。
中信銀行信用卡中心分布式核心系統StarCard於2019年10月27日正式開業,支撐1億用戶,日均交易9000萬筆,順利通過雙十一的業務峰值考驗,資料庫性能表現平穩。經過5年的不斷打磨,GoldenDB經歷了嚴苛的商用考驗,已經具備全面替換銀行交易類業務資料庫的能力。、中興通訊領導參加了啟動儀式。
(原文載於《金融電子化》2020年1月刊,作者:中信銀行 張興強 陳建峰 中興通訊 付裕 戴扶)