文 / 中國郵政儲蓄銀行新一代個人業務核心系統項目組
核心系統向分布式轉型是趨勢
近年來,互聯網金融業務得到飛速發展,并逐漸侵入到商業銀行傳統業務領域,給商業銀行帶來巨大的沖擊。互聯網金融業務一般有以下特點:一是業務需求快速變化,當前互聯網金融業務模式創新層出不窮,需要業務功能快速優化迭代;二是存在浪涌式并發交易高峰,如在2019年“雙十一”,網聯平臺處理跨機構支付交易超過15.4億筆,峰值超過7萬筆/秒;三是要求更高的服務支撐能力,互聯網金融業務強調生態及場景化,以用戶體驗為本,在場景化、生態體系建設上更完善;四是計算資源和成本可控,普遍采用x86平臺,基于開源軟件技術框架,使技術支撐成本最小化。
以上這些對商業銀行傳統核心系統的能力提出巨大挑戰。首先,傳統核心系統面臨并發交易處理能力瓶頸,“雙十一”“秒殺”等特殊時點的交易高峰出現時,傳統核心系統即便是采用大型機也承受了巨大壓力。其次,業務需求響應能力不足,與傳統集中式系統匹配的瀑布式開發模式無法適應敏捷開發需求,難以滿足業務發展的迫切需要。第三,對服務開放的支撐不夠,傳統集中式產品和服務封閉,難以與合作伙伴場景融合,場景化、生態化的金融服務能力欠缺。第四,技術資源不可控,傳統集中式核心一般依賴大型機、Unix小型機以及與之配套的軟件技術棧,產品可替代性差,對商業銀行有很強的約束性。
伴隨著x86平臺可靠性和處理能力的提升,開源社區的壯大,商業銀行核心系統向分布式轉型是大勢所趨。
新一代個人業務核心系統總體介紹
郵儲銀行一直堅持分布式架構的技術路線,個人儲蓄業務核心系統基于開放式小型機集群,采用分布式架構,于2014年投產,支撐了郵儲銀行從單一儲匯機構到全功能商業銀行的跨越式發展。近幾年業務發展迅猛,系統架構老化、處理能力不足、硬件故障多發等問題凸顯,難以適應未來發展的需要。因此,郵儲銀行正在構建新一代個人業務核心系統,從根本上解決問題。
郵儲銀行新一代個人業務核心系統建設的總體目標是以個人客戶服務為中心,圍繞個人存款、個人結算賬戶、銀行匯款等產品服務,建成一個能夠快速響應市場需求,產品豐富、客戶體驗好、核算準確、完整、及時,性能高效、運行穩定、安全合規、可維護,內核技術成熟、外圍功能靈活,技術自主可控、先進的平臺化銀行核心業務系統。
根據以上目標,對于新一代個人業務核心系統,郵儲銀行提出了三個方面共13項具體能力要求。在業務方面,新核心需要具備產品快速創新和差異化服務能力、以客戶為中心的服務能力、統一的客戶賬戶管理能力、高效的風險控制能力和完備的數據管理能力。在技術方面,要求系統可用性超過99.99%,可支持超過5萬TPS的交易峰值,達到等保4級安全要求,同時支持在線擴展、一體化監控和智能化運維。在信息化支撐方面,實現核心服務API化,可支撐并行迭代周期在30天內的敏捷研發,支持敏態和穩態雙模運維。
新一代業務核心系統建設特點
1.采用郵儲銀行特色的企業級業務建模方法。企業級業務建模作為一種新的業務架構設計與需求表達方式,具有“大而不散”“快而不亂”“觸而不離”“變而有序”的特點,有助于打破部門界限,顯著提升業務敏捷能力,真正實現業務與業務之間、業務與IT之間的一體化協同,全面提升客戶體驗。
在借鑒同業領先實踐的基礎上,結合郵儲銀行實際,著眼于未來業務和金融科技的發展融合,我們對業務建模方法進行了改良,形成了具備郵儲銀行特色的業務建模方法。采用“T型”策略,即“橫向覆蓋”“縱向深入”“金字塔擴展”,對全行業務進行了全面梳理,并已完成個人存款、個人結算賬戶、個人支付結算三大業務領域的業務建模工作,可有效指導后續的系統設計與開發工作。目前,業務建模工作正逐步向外延展,覆蓋全行的金字塔型企業級架構體系已逐漸成型。
2.形成端到端的分布式系統建設方法。新一代個人業務核心系統建設從業務需求到系統實現均形成了端到端的、完整的、體系化的分布式系統建設方法。
在系統分析設計方面,郵儲銀行在參考同業領先經驗基礎上,結合自身業務建模方法和新核心系統分布式、微服務、單元化的系統架構方案,形成了具有郵儲銀行特色的系統分析設計方法。此方法覆蓋了分析設計階段全過程,能夠順暢承接企業級業務建模成果,進行分布式系統的應用組件分析和設計。
在系統實現方面,郵儲銀行一方面堅持開放平臺、分布式架構的技術路線,通過云化部署,提高系統穩定性與靈活性;另一方面堅持融入以x86平臺、開源框架為基礎的技術體系,適應國家信息安全戰略要求,形成自主可控的企業級技術平臺。
3.全面貫徹“敏態+穩態”的系統設計理念。在業務需求層面,建立完善的業務需求管理體系,通過業務建模,形成由粗到細的業務需求梳理分析方法,保障了業務需求的完備性和全局性。在此基礎上,針對具體業務場景,可以快速組合完善業務流程,快速定制可售產品,快速衍生新業務。
在設計實現層面,系統分為數據層、產品服務層、交易服務層三個層次,逐步由穩態向敏態演變。同時,每個層次均可根據業務產品或服務功能需求進行聚合分類,形成穩態或敏態的部署實例。另外,可針對網聯扣款等特定業務場景進行定制化優化設計,形成特定的服務組件進行單獨部署,滿足高效、穩定的系統設計要求。據此,可以快速響應業務需求,快速構建新的服務組件,同時對關鍵、成熟業務均不會造成影響。
在系統維護方面,通過上述方法,預期支持大部分業務需求通過產品參數配置來實現功能落地,兩周內完成發布,并且可進行不停服務的在線熱發布。
4.采用單元化部署架構。借鑒互聯網企業的先進實踐,采用簡明、清晰、統一的單元化部署策略,為系統故障快速定位和自動化處理提供基礎。同時,分布式架構下標準化與自動化的部署手段結合,形成核心系統的快速彈性擴展支持能力(見圖1)。
圖1 單元化部署架構
根據架構功能的不同定位,設計五種不同類型的標準化單元,分別是網關單元、業務服務單元、公共服務單元、序號管理單元和本地資源管理單元。以上五種單元中,主體是業務服務單元。業務服務單元基于客戶維度水平切分,可以跨異地部署和彈性擴展,同時在單元內部也可通過計算資源和服務實例擴充進行彈性擴展,從而在整體上既能夠滿足處理能力橫向擴展的靈活性要求,也能夠滿足智能化運維的標準化要求。
5.構建智能化運維體系。基于新一代個人業務核心系統涉及技術組件多、部署規模大的特點,結合數據中心智能化運維規劃,計劃配套建設智能化運維體系,并與數據中心整體的自動化運維能力全面集成,帶動智能化運維體系建設。
智能化運維體系將重點建設事件驅動的快速響應、數據驅動的主動維護、發布/變更驅動的敏捷交付等三大運維能力,并為運行監控、配置管理、智能運維分析、運維數據湖、流程管理、運維操作自動化、應用設計開發協同等七個重點領域,提供技術能力支撐和映射,為從基礎設施層到應用層的80多個場景提供端到端的智能化運維支持。
關鍵問題的解決方案
1.數據切分策略。在分布式系統設計中,面臨的關鍵點就是數據的切分策略問題。數據切分策略不僅要考慮與分布式架構的適應性、實現上的可行性,還要考慮對應用設計的負面影響最小化,如數據一致性問題。
通過反復驗證,擬采用以客戶維度的數據切分策略,在切分原則上,一是基于平均化原則,客戶數據平均分布在各業務服務單元,保證每個業務服務單元的數據量基本一致;二是基于易擴展原則,在不影響原有數據節點的基礎上可增加新節點。
2.微服務劃分策略。當前業界對微服務的劃分粒度沒有通用的策略方法,主要憑借經驗、實施工作量、技術倒推等方式進行劃分。在超大規模的項目中,容易因個體能力差異導致微服務劃分維度和粒度千差萬別,造成系統難以落地,這是分布式系統設計實現中的一大挑戰。
通過業務建模方法論指導微服務的設計,業務架構為應用架構提供輸入,指導微服務應用的劃分和微服務構件的設計。
3.服務路由方案。采用單元化部署結構后,衍生出了應用路由問題,即必須提出一種機制,將外部請求轉發到相應的業務服務單元。
為此,提出了“要素-客戶號-標準化部署單元”的兩階段路由策略。首先根據映射要素找到對應的客戶號,進而找到客戶對應的部署單元號。如此處理之后,即可通過交易請求中的映射要素信息,將服務請求發送到相應業務處理單元。
4.事務一致性保證機制。事務一致性是銀行核心系統考慮的重點問題,但根據CAP理論,分布式系統的一致性、可用性和分區容忍性不可同時滿足。目前分布式環境下,也沒有能夠兼顧可靠性、性能和工程可實施性的成熟的數據一致性保障技術。
在分布式核心系統建設過程中,根據自身的業務特點,形成了層次化的解決方案:在實時交易處理層面,主要采用SAGA分布式事務方案;對于實時處理不完整的情形,設計了事后補償方案;同時,采用差錯對賬和差錯調整機制作為兜底方案,最終確保數據的一致性(見圖2)。
圖2 SAGA處理流程
5.數據同步機制。采用單元化部署設計,系統存在多個部署單元與實例節點。為提高訪問效率,減少熱點操作,針對公共訪問的熱數據會采用多副本冗余的方式在不同的單元數據庫或實例節點緩存中存儲。在這種情況下,需要設置一套數據同步機制,使這些節點能夠實現主副本數據之間的同步。
根據應用場景設計了數據庫主備同步、數據庫和緩存同步、信息發布同步三種數據同步方式。數據庫主備同步用于實現系統的高可用和高可靠,保證異常情況下業務數據庫能夠成功切換,同時不會造成數據丟失。數據庫和緩存同步一般用于緩存訪問場景,避免應用訪問公共熱數據時頻繁訪問數據庫,如參數數據,而是通過緩存加速訪問。信息發布同步采用消息通知機制,一般用于參數下發場景,將參數迅速下發到系統各個處理節點中。
面臨的挑戰
針對建設方案,我們對2019年下半年開發的原型系統進行了反復測試驗證,結果符合預期,驗證了方案的可行性。目前,郵儲銀行新一代個人業務核心系統的建設大幕已正式拉開。
我們也看到,采用“分布式架構+開放平臺+云化部署”架構搭建核心業務系統,同時滿足大型國有商業銀行可靠性、穩定性、安全性要求的做法是史無前例的。在分布式架構下設計用戶體驗好、業務靈活、安全高效的核心業務系統,應用設計十分復雜,對架構、設計、開發團隊的技術與管理能力均有很高要求。因此,新一代個人業務核心系統建設必定是一條充滿荊棘與坎坷的挑戰之路,郵儲銀行正在砥礪前行,“一張藍圖繪到底”,確保新核心順利投產。