建造一座大樓最關鍵的是什么?沒錯,肯定是打地基。如果將金融業的應用技術組件集比作建造一座大樓,那金融應用技術平臺就相當于這座大樓的關鍵地基,重要性不言而喻。
近年來,微服務、DevOps、云原生等前沿技術為金融業帶來了嶄新的趨勢和業態,銀行在建設新一代企業級 IT 架構時,對于平臺化架構的訴求也在逐步演進,金融應用平臺體系架構逐漸從大而全的 PaaS(Platform as a Service,平臺即服務)演變成一個通用平臺(gPaaS,General Platform as a Service)和多個應用平臺(aPaaS,Application Platform as a Service)。這是一個不斷探索與實踐的過程,整個行業都在運用更多前沿技術,實現更加先進的平臺化架構。
新一代金融應用平臺體系架構究竟該如何構建?實踐出真知,長亮科技基于十幾年在核心系統的落地實踐,對新一代金融應用平臺的構建深度洞察,讓我們一起看看,長亮科技在這方面觀點。
【明道】什么是新一代金融應用平臺?長亮科技給你正解
新一代金融應用平臺指銀行在構建新一代企業級 IT 架構時,以前瞻性、先進性、擴展性、規范性為出發點,規劃出的面向金融應用組件集(如存款、貸款、匯款、信用卡類應用組件)的應用開發運行框架。
從字面上理解,“新一代”要突出數字化轉型、云原生等前瞻性和先進性的設計理念,“金融”修飾具體的運用場景,聚焦于金融領域,“應用”指主要服務于應用開發人員,提供統一的開發運行框架。
■ 新一代金融應用平臺的定位
從上下文來看,新一代金融應用平臺應位于通用平臺(指微服務框架、DevOps、中間件等通用類軟件)之上,屏蔽底層技術的復雜度,并聚焦于為上層金融應用組件提供標準的開發運行框架,實現金融應用組件所需的技術能力需求和公共能力需求(如沖正能力、7*24小時能力、差錯對賬等能力)。
新一代金融應用平臺的定位
■ 新一代金融應用平臺聚焦可復用能力的沉淀
新一代金融應用平臺,聚焦于金融應用組件技術能力和公共能力的沉淀,本質上是可復用能力的下沉,所謂工欲善其事,必先利其器,建設新一代金融應用平臺對銀行來說價值深遠:
1)能夠清晰識別金融應用組件的可復用性,讓應用開發者直接復用,從而提高開發效率;
2)能夠屏蔽底層基礎設施的復雜度,降低技術棧的替換和升級的影響面,讓應用開發者更聚焦于具體業務邏輯的實現;
3)可擴展支撐各種金融應用組件,提供標準化的開發模型,方便維護和管控。
總而言之,新一代金融應用平臺需要與底層基礎設施很好的集成,才能為上層金融應用組件提供穩定的開發運行環境、服務治理和分布式治理環境。
【優術】從銀行核心系統建設,剖析新一代金融應用平臺的體系架構設計
長亮科技在銀行核心領域具有近20年的積淀,有豐富的產品研發與實施經驗,接下來,我們以銀行核心系統為例,從多個層面分析長亮科技在新一代金融應用平臺體系架構設計中的洞見。
從宏觀層面看,新一代金融應用平臺可以從總體架構、定位、設計原則、編程模式、組件全景圖、典型場景等多個方面進行分析和設計。
在微觀層面,圍繞每一個技術能力組件和公共能力組件按照組件元模型進行分析和設計。以技術組件為例,組件元模型可以包括組件定位、組件模塊視圖、組件功能視圖、組件集成視圖、組件技術視圖、組件數據視圖、組件運維視圖等。
新一代金融應用平臺總體架構由聯機引擎(服務引擎、服務編排、分布式事務、元數據等)、批量引擎(分布式調度、批量處理)、公共能力(防重、冪等、序列號、數據訪問、SPI機制、技術底座等)、開發工具和開發規范組成。
新一代金融應用平臺的總體架構
■ 核心組件一:聯機引擎
在聯機引擎中,元數據、服務引擎、服務編排、分布式事務是聯機引擎的核心組件。
元數據,向應用組件提供類型、字段、接口、服務編排、表結構、SQL、錯誤碼等數據的定義、存儲和使用。元數據的最大價值是支撐標準的落地,讓應用組件的開發標準化。
元數據定義、存儲和使用的標準化
元數據具有豐富的使用場景:
1.服務接口標準化,可以生成標準的接口定義文件(如Swagger)、前端頁面(柜面前端)、接口文檔(如Excel格式接口文檔)
2.接口要素合法性檢查(根據綁定的數據類型約束進行運行時校驗)
3.生成數據訪問代碼,避免SQL注入
4.審計(表結構、索引、SQL)
5.根據模型自動生成文檔
服務引擎,分為接入層、引擎層和數據訪問層,其中引擎層又細分為組合服務引擎和基礎服務引擎。
接入層實現服務的暴露和接入處理,服務引擎實現服務調度處理。
組合服務引擎集成服務編排組件,提供組合服務能力,并集成分布式事務組件實現分布式事務一致性處理能力。在金融應用組件開發過程中,可以簡化聯機服務開發,在組合服務引擎中還可通過切面和代理等技術,實現公共前后處理、服務外調、分布式子事務管理等功能,無需應用開發人員關心具體的通訊處理細節、分布式事務處理細節。
分布式事務組件,用于解決跨微服務調用、單元化架構下跨單元調用產生的分布式事務問題。金融應用組件對資金處理的一致性要求非常高,為避免出現資金風險,通常會通過加鎖、止付、先借后貸等多種手段進行防護處理。目前主流的分布式事務實現有 TCC、SAGA 兩種模式及多種相應的演變模式,但在金融應用場景中往往都采用深度定制的方式實現,需要結合業務和技術進行綜合權衡考慮,實現資源隔離、同步補償、異步補償、對賬差錯等多維度的處理機制,此處不做展開。
■ 核心組件二:批量引擎
批量引擎實現金融應用組件的分布式調度處理、批量作業拆分處理。其中有兩個關鍵設計點:分布式調度、批量處理編程模型。
分布式調度,在設計上要充分考慮微服務架構和分布式架構(單元化分布式架構、數據庫中間件分布式架構)下的混合調度處理,同時需要關注框架的擴展性、去中心化調度能力、數據分區能力。
分布式調度分為框架層、擴展層、應用層。
?框架層提供通用的調度能力(包括調度核心,作業流,定時器)
?擴展層對框架能力進行擴展
?應用層基于框架層和擴展層之上提供靈活的分布式調度應用
分布式調度分層架構圖
在復雜架構(微服務+單元化)下,分布式調度需要支持去中心化調度能力,以降低主節點的調度壓力,將調度分散到每個微服務,每個單元處理。
分布式調度去中心化調度設計
【取勢】金融應用平臺展望:通用平臺與應用平臺分離成趨勢
在新一代金融應用平臺演進中,通用平臺(包括中間件、微服務框架等通用類組件)與應用平臺(面向金融應用的開發運行框架和公共能力)的分離已經成為一種趨勢。因為專業性、擴展性、演變路線和解決問題域的不同,應用平臺將更聚焦于應用場景業務知識的沉淀(公共能力下沉),未來也有可能逐步演變成應用中臺,而通用平臺更關注企業級可復用組件,或逐漸演變成技術中臺。
新一代金融應用平臺未來展望
新一代金融應用平臺體系架構并非是一成不變的,它需要在不斷探索中升級、與時俱進,在這個過程中,更需要在金融行業深度積淀的科技企業不斷地去探索、實踐。長亮科技作為深耕金融領域18年的科技企業,在技術創新上不斷求索突破,保持領先,首創多個先進架構及產品,一直走在行業技術創新前列,不斷引領著行業技術變革和發展。