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