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