近年來,隨著銀行業(yè)務(wù)量的快速增長,一些大型商業(yè)銀行早已布局分布式架構(gòu)轉(zhuǎn)型,這不僅是國家安全戰(zhàn)略的要求,也是隨著互聯(lián)網(wǎng)發(fā)展,商業(yè)銀行提升自身金融服務(wù)能力的需要。商業(yè)銀行系統(tǒng)構(gòu)建高可用、易擴(kuò)展、低成本的分布式架構(gòu),逐漸替代集中式架構(gòu)成為大勢所趨。2015年以來,上海農(nóng)商銀行按照“整體規(guī)劃,分層分類,逐步推進(jìn)”的策略,在分布式架構(gòu)轉(zhuǎn)型方面進(jìn)行了一些探索和實(shí)踐,走出一條有自身特色的轉(zhuǎn)型之路。
上海農(nóng)商銀行金融科技部副總經(jīng)理兼開發(fā)中心總經(jīng)理 陶建林
分布式架構(gòu)和集中式架構(gòu)簡介
目前,商業(yè)銀行系統(tǒng)采用的系統(tǒng)架構(gòu)主要有兩類:一類是集中式架構(gòu),主要通過垂直擴(kuò)展,增加單機(jī)配置或設(shè)備升級以提升系統(tǒng)的處理能力;另一類是分布式架構(gòu),主要以水平擴(kuò)展,通過橫向擴(kuò)充節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)運(yùn)行獨(dú)立實(shí)例,節(jié)點(diǎn)與節(jié)點(diǎn)之間通過網(wǎng)絡(luò)互連,提高系統(tǒng)處理能力。
1.集中式架構(gòu)特點(diǎn)。集中式架構(gòu)系統(tǒng)的計(jì)算、存儲都在一套硬件體系內(nèi),無需面對網(wǎng)絡(luò)分區(qū)問題,同時(shí)可以通過存儲的冗余和軟硬件結(jié)合的高度優(yōu)化,實(shí)現(xiàn)系統(tǒng)的高效運(yùn)行。因此這種架構(gòu)成熟穩(wěn)定,可靠性好,同時(shí)集中式架構(gòu)部署結(jié)構(gòu)簡單,設(shè)備數(shù)量少,在運(yùn)維復(fù)雜度上較分布式架構(gòu)有天然優(yōu)勢。目前上海農(nóng)商銀行主要核心業(yè)務(wù)系統(tǒng)均采用集中式架構(gòu)部署,系統(tǒng)交易成功率和業(yè)務(wù)連續(xù)性得到了有效保證,業(yè)務(wù)量年均增長率近20%,至2019年底,日均交易量在1000萬筆左右。
雖然傳統(tǒng)的集中式架構(gòu)具有成熟穩(wěn)定、高可靠、強(qiáng)一致性的特點(diǎn),但隨著商業(yè)銀行業(yè)務(wù)的不斷發(fā)展,也慢慢暴露出來以下問題。
成本控制問題:集中式架構(gòu)中很多高并發(fā)的業(yè)務(wù)系統(tǒng)采用小型機(jī),大型商業(yè)銀行核心賬務(wù)系統(tǒng)往往采用主機(jī)設(shè)備,造成軟、硬件成本以及運(yùn)維成本都非常高昂,在一定程度上限制了業(yè)務(wù)的發(fā)展。
處理能力限制:目前商業(yè)銀行隨著業(yè)務(wù)的不斷發(fā)展,整體應(yīng)用系統(tǒng)的建設(shè)規(guī)模逐漸龐大,這種垂直、單一的擴(kuò)展模式,不具備橫向處理能力,處理能力受到限制。
風(fēng)險(xiǎn)控制問題:由于集中式架構(gòu)本身擴(kuò)展性的不足,所有業(yè)務(wù)都跑在一個(gè)單點(diǎn)上,一旦發(fā)生故障就可能影響到所有用戶。同時(shí)隨著互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展,對業(yè)務(wù)連續(xù)性要求更高,傳統(tǒng)架構(gòu)很難保證7×24業(yè)務(wù)不中斷的服務(wù)能力。
無法快速交付:傳統(tǒng)的開發(fā)模式應(yīng)用內(nèi)部模塊、應(yīng)用與應(yīng)用之間的耦合度非常高,使得軟件的開發(fā)和產(chǎn)品交付周期比較長,無法滿足互聯(lián)網(wǎng)需求的快速交付要求。
2.分布式架構(gòu)的特點(diǎn)。分布式架構(gòu)按照一定的維度將系統(tǒng)功能拆分,通過負(fù)載均衡機(jī)制,將業(yè)務(wù)分?jǐn)偟蕉鄠€(gè)節(jié)點(diǎn)上處理。這種架構(gòu)的優(yōu)點(diǎn)是可以采用更開放的架構(gòu),各節(jié)點(diǎn)松耦合,對底層產(chǎn)品的可靠性、可用性依賴降低,可以基于廉價(jià)的硬件和開源軟件構(gòu)建,成本更為低廉,可用性、可擴(kuò)展性更好。尤其是隨著應(yīng)用規(guī)模的擴(kuò)大,邊際成本將更低。
這種架構(gòu)的難點(diǎn)是要做好各節(jié)點(diǎn)的協(xié)同工作,尤其是要處理好數(shù)據(jù)的一致性、完整性問題。根據(jù)CAP理論,在可用性、分區(qū)性與一致性三者之間,同時(shí)只能滿足兩個(gè),如果要滿足可用性(A)、分區(qū)容忍性(P),就需要犧牲一致性(C)。業(yè)界的一般做法是根據(jù)業(yè)務(wù)特點(diǎn),通過較為復(fù)雜的應(yīng)用設(shè)計(jì),放棄實(shí)時(shí)一致性、保障最終一致性來解決該問題,分布式架構(gòu)增加了應(yīng)用設(shè)計(jì)和研發(fā)的復(fù)雜度。此外,隨著節(jié)點(diǎn)數(shù)的增加和分布部署,對運(yùn)維管理、異常處置也提出了更高要求。
通過對集中式和分布式架構(gòu)在業(yè)務(wù)支撐、一致性/可用性、運(yùn)維成本/故障恢復(fù)方面分析發(fā)現(xiàn),分布式架構(gòu)在經(jīng)濟(jì)性、安全自主、靈活性、可伸縮性等方面有明顯優(yōu)勢。隨著金融系統(tǒng)需要處理的交易量與數(shù)據(jù)量越來越大,分布式架構(gòu)在這方面的優(yōu)勢也會越來越明顯。集中式系統(tǒng)在可維護(hù)性、一致性方面有優(yōu)勢,而分布式系統(tǒng)需要達(dá)到同等或更高的可維護(hù)性與高一致性,需要通過先進(jìn)的分布式中間件與大規(guī)模運(yùn)維平臺來支持。
架構(gòu)演變及轉(zhuǎn)型策略
1.架構(gòu)轉(zhuǎn)型關(guān)鍵點(diǎn)。商業(yè)銀行實(shí)施分布式架構(gòu),需要從系統(tǒng)架構(gòu)理念、設(shè)計(jì)模式、IT運(yùn)維機(jī)制、人才隊(duì)伍建設(shè)和科技支撐體系等5個(gè)方面進(jìn)行通盤考慮。整體的訴求是優(yōu)化應(yīng)用架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu),建立靈活開放、高效協(xié)同、安全穩(wěn)定的IT架構(gòu)體系,強(qiáng)化對業(yè)務(wù)快速創(chuàng)新發(fā)展的科技支撐。
架構(gòu)理念:傳統(tǒng)架構(gòu)往往采用“峰值性能”來規(guī)劃和設(shè)計(jì)銀行信息科技體系的基礎(chǔ)設(shè)施和運(yùn)維能力,在某一階段內(nèi)其業(yè)務(wù)處理能力是靜態(tài)的、有限的。分布式架構(gòu)則需要全新的“彈性伸縮”的架構(gòu)設(shè)計(jì)模式,按照“動態(tài)性能要求”來規(guī)劃和設(shè)計(jì);機(jī)器資源可以靈活動態(tài)增加,在業(yè)務(wù)高峰期采用“自動彈性伸縮”的方式快速響應(yīng)處理能力要求,降低IT資源成本,并且滿足高并發(fā)的突發(fā)性業(yè)務(wù)需求。例如在“618”“雙11”購物節(jié)對銀行支付系統(tǒng)的高并發(fā)處理能力的業(yè)務(wù)場景就特別適合。
設(shè)計(jì)模式轉(zhuǎn)變:傳統(tǒng)的系統(tǒng)設(shè)計(jì)方式是采用“豎井”式的,各個(gè)系統(tǒng)獨(dú)立運(yùn)行,系統(tǒng)之間采用應(yīng)用集成和數(shù)據(jù)總線的方式實(shí)現(xiàn)互連互通。分布式架構(gòu)則強(qiáng)調(diào)組件化和服務(wù)化,功能模塊按照業(yè)務(wù)模塊可以采用橫切、縱切等方式靈活劃分組件和服務(wù),數(shù)據(jù)則大量采用LOCAL存儲的方式實(shí)現(xiàn)分布式數(shù)據(jù)訪問,通過輕量級服務(wù)和高速的消息機(jī)制實(shí)現(xiàn)應(yīng)用和數(shù)據(jù)的整合。
IT運(yùn)維模式:傳統(tǒng)的IT運(yùn)維強(qiáng)調(diào)在服務(wù)水平約定的基礎(chǔ)上實(shí)現(xiàn)標(biāo)準(zhǔn)化和流程化。而在分布式架構(gòu)下,需要實(shí)現(xiàn)數(shù)據(jù)和管理節(jié)點(diǎn)的實(shí)時(shí)和動態(tài)調(diào)整,要求運(yùn)行監(jiān)控更加自動化、敏捷化和智能化;同時(shí)需要研究和應(yīng)用DevOps開發(fā)運(yùn)維一體化模式,在軟件集成、生產(chǎn)部署和業(yè)務(wù)應(yīng)用方面實(shí)現(xiàn)更緊密的溝通、協(xié)作與整合,對傳統(tǒng)的運(yùn)維模式形成了一定挑戰(zhàn)。
人才建設(shè):由于分布式架構(gòu)部署方式、網(wǎng)絡(luò)策略、數(shù)據(jù)庫的專有特性以及資源管理策略等核心技術(shù)與傳統(tǒng)架構(gòu)差異較大,同時(shí)隨著分布式架構(gòu)系統(tǒng)建設(shè)的普及,人才短缺問題也慢慢暴露出來,因此中小型銀行在分布式架構(gòu)人才隊(duì)伍建設(shè)方面也是一個(gè)關(guān)鍵。目前市場上現(xiàn)有的分布式架構(gòu)人才主要聚集在互聯(lián)網(wǎng)公司和大型銀行的金融科技公司,屬于熱門人才,人力成本比較高。所以中小銀行需要考慮傾斜性的人力資源政策,創(chuàng)新科技人才薪酬體系,盡快建立自己的分布式架構(gòu)核心技術(shù)團(tuán)隊(duì)。
2.架構(gòu)轉(zhuǎn)型實(shí)施策略。架構(gòu)轉(zhuǎn)型是一個(gè)復(fù)雜的過程,需要采取循序漸進(jìn)的實(shí)施策略。
堅(jiān)持架構(gòu)規(guī)劃先行:首先確定集中式向分布式架構(gòu)的轉(zhuǎn)型目標(biāo),明確架構(gòu)轉(zhuǎn)型實(shí)施路徑,最終在業(yè)務(wù)支撐方面,實(shí)現(xiàn)業(yè)務(wù)應(yīng)用的高并發(fā)、可擴(kuò)展、支持海量數(shù)據(jù)存儲及訪問;在系統(tǒng)建設(shè)、運(yùn)維方面,完成基于通用廉價(jià)的硬件基礎(chǔ)設(shè)施建設(shè),提升自動化運(yùn)維能力,降低開發(fā)、運(yùn)維成本。
循序漸進(jìn)、分批實(shí)施:以分布式擴(kuò)展、大數(shù)據(jù)處理應(yīng)對海量高并發(fā)的計(jì)算需求,逐步構(gòu)建適合銀行本身的分布式架構(gòu)技術(shù)棧,實(shí)現(xiàn)從傳統(tǒng)技術(shù)和云計(jì)算技術(shù)相結(jié)合的混合架構(gòu)逐步過渡到開放的分布式架構(gòu),以積極穩(wěn)妥的步驟推動IT架構(gòu)轉(zhuǎn)型。
上海農(nóng)商銀行分布式架構(gòu)應(yīng)用實(shí)踐
上海農(nóng)商銀行2014年完成新一代賬務(wù)系統(tǒng)上線,2015年確定了系統(tǒng)架構(gòu)向組件化、服務(wù)化、標(biāo)準(zhǔn)化、移動化的轉(zhuǎn)型方針,同時(shí)確定了開放平臺小型機(jī)向PC機(jī)、虛擬機(jī)逐漸過渡的架構(gòu)思路,開始布局云計(jì)算、大數(shù)據(jù)、分布式數(shù)據(jù)庫等互聯(lián)網(wǎng)新技術(shù)應(yīng)用研究。2016年規(guī)劃并構(gòu)建了基于分布式架構(gòu)的大數(shù)據(jù)平臺,實(shí)現(xiàn)了支持在線、離線和實(shí)時(shí)數(shù)據(jù)服務(wù)的混合數(shù)據(jù)架構(gòu),為各渠道類、數(shù)據(jù)分析類業(yè)務(wù)應(yīng)用提供精準(zhǔn)化管理和智能化服務(wù)。上海農(nóng)商銀行踐行數(shù)字化轉(zhuǎn)型戰(zhàn)略,以大數(shù)據(jù)、云計(jì)算為基礎(chǔ),基于分布式架構(gòu)搭建共享能力中臺、數(shù)據(jù)中臺、智慧中臺最終實(shí)現(xiàn)我行的應(yīng)用架構(gòu)轉(zhuǎn)型之路(見圖1)。具體實(shí)施路線如下。
圖 分布式應(yīng)用架構(gòu)
1.確定架構(gòu)轉(zhuǎn)型策略及目標(biāo)。2015年開始,上海農(nóng)商銀行根據(jù)自身的業(yè)務(wù)發(fā)展需求著手研究并制定大數(shù)據(jù)平臺、移動互聯(lián)網(wǎng)平臺以及云計(jì)算的整體架構(gòu)規(guī)劃。確定了采用大數(shù)據(jù)處理、分布式計(jì)算、實(shí)時(shí)流處理、API經(jīng)濟(jì)等技術(shù)構(gòu)建基礎(chǔ)金融平臺。按照“建平臺、部應(yīng)用、練隊(duì)伍”的思路,開啟分布式架構(gòu)轉(zhuǎn)型之路。
2.構(gòu)建分布式架構(gòu)技術(shù)棧,開展平臺、應(yīng)用建設(shè)。2016年,上海農(nóng)商銀行確定了分布式架構(gòu)技術(shù)棧,主要包括分布式服務(wù)、分布式事務(wù)框架、分布式緩存、分布式消息等。構(gòu)建了基于開源Hadoop技術(shù)的企業(yè)級大數(shù)據(jù)平臺,引入Hive、HBase、Solr、Spark、ELK等技術(shù)組件,通過分布式事務(wù)的框架,結(jié)合分布式事務(wù)提交和分布式的消息,支持強(qiáng)一致性和最終一致性多種模式,最終完成大數(shù)據(jù)生態(tài)生命周期管理的整體構(gòu)建。
2017~2019年實(shí)現(xiàn)歷史數(shù)據(jù)存儲系統(tǒng)、影像系統(tǒng)等集中式架構(gòu)向大數(shù)據(jù)平臺分布式架構(gòu)遷移,基于分布式框架構(gòu)建了在線精確查詢、離線批量加工、實(shí)時(shí)流處理、內(nèi)容管理、大數(shù)據(jù)智能分析等5個(gè)基礎(chǔ)應(yīng)用平臺。通過分布式消息平臺,實(shí)現(xiàn)應(yīng)用級的數(shù)據(jù)交互,支撐了交易風(fēng)險(xiǎn)控制、客戶精準(zhǔn)分析、人工智能等創(chuàng)新型應(yīng)用,實(shí)現(xiàn)了借記卡風(fēng)險(xiǎn)預(yù)警的實(shí)時(shí)流處理,踐行了數(shù)據(jù)即服務(wù)的管理理念,有效提升了業(yè)務(wù)處理效率。
截止目前,大數(shù)據(jù)平臺共接入系統(tǒng)68個(gè),存儲結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)217TB,為30個(gè)業(yè)務(wù)應(yīng)用,135個(gè)聯(lián)機(jī)交易提供應(yīng)用支撐,日交易量20萬筆,真正實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)前、中、后臺之間串聯(lián),讓沉睡的歷史數(shù)據(jù)在分析系統(tǒng)中“活起來”,消除技術(shù)壁壘和數(shù)據(jù)孤島,充分發(fā)揮數(shù)據(jù)資產(chǎn)的價(jià)值。
3.規(guī)劃基礎(chǔ)云平臺建設(shè)。2017年上海農(nóng)商銀行按照“云數(shù)據(jù)中心”理念,規(guī)劃基于分布式的Paas金融云基礎(chǔ)架構(gòu),開展基于Docker和Kubernetes技術(shù)預(yù)研,同時(shí)踐行DevOps的理念,進(jìn)行了容器云的系統(tǒng)規(guī)劃、場景設(shè)計(jì)、產(chǎn)品選型和POC測試。實(shí)踐過程中,堅(jiān)持從實(shí)際業(yè)務(wù)需求出發(fā),將實(shí)際需求與容器云最佳實(shí)踐相結(jié)合,在微服務(wù)、應(yīng)用容器化改造、彈性擴(kuò)展、灰度發(fā)布等方面,進(jìn)行了深度研究和實(shí)踐。通過基礎(chǔ)云平臺的研究實(shí)踐,確定了我行踐行強(qiáng)健穩(wěn)定、彈性伸縮、開源開放的基礎(chǔ)架構(gòu)平臺的技術(shù)路線,為后續(xù)的PaaS平臺建設(shè)提供了堅(jiān)實(shí)的技術(shù)支撐。后續(xù)還將開展網(wǎng)絡(luò)SDN對接、存儲自動化管理、PaaS平臺對接等工作。
4.分布式數(shù)據(jù)庫研究和試點(diǎn)。在實(shí)現(xiàn)架構(gòu)轉(zhuǎn)型過程中,必須實(shí)現(xiàn)數(shù)據(jù)持久化層的分布式,但這恰恰是分布式架構(gòu)中技術(shù)難度最大、最為關(guān)鍵的部分。2018年上海農(nóng)商銀行開展分布式數(shù)據(jù)庫技術(shù)的探索和研究試點(diǎn),對事務(wù)一致性控制、集群高可用切換、聯(lián)機(jī)在線重分布、數(shù)據(jù)庫備份、恢復(fù)以及分布式事務(wù)控制能力、日終批處理能力、在線擴(kuò)容能力、問題診斷能力、并發(fā)處理能力等關(guān)鍵能力進(jìn)行了技術(shù)驗(yàn)證。2019年底籌備成立聯(lián)合創(chuàng)新實(shí)驗(yàn)室,開展分布式數(shù)據(jù)庫的關(guān)鍵技術(shù)預(yù)研以及應(yīng)用試點(diǎn)工作。
展望與挑戰(zhàn)
2020年,上海農(nóng)商銀行將踐行數(shù)字化轉(zhuǎn)型戰(zhàn)略,通過數(shù)據(jù)中臺、業(yè)務(wù)中臺、智慧中臺建設(shè),進(jìn)一步完善“開放性、高容量、易擴(kuò)展、低成本、高可靠”的分布式技術(shù)體系,逐步實(shí)現(xiàn)企業(yè)級分布式能力建設(shè),持續(xù)提升分布式技術(shù)平臺的業(yè)務(wù)支撐,繼續(xù)分布式架構(gòu)轉(zhuǎn)型之路。
然而,中小型商業(yè)銀行在推進(jìn)分布式轉(zhuǎn)型方面仍然存在不少挑戰(zhàn),需要在以后的實(shí)踐過程中創(chuàng)造性解決。
基礎(chǔ)平臺建設(shè)方面:缺少開箱即用、適應(yīng)分布式架構(gòu)、體系性的解決方案,在很多領(lǐng)域,銀行業(yè)金融機(jī)構(gòu)仍需依托開源產(chǎn)品自行定制開發(fā),對開源產(chǎn)品和底層技術(shù)掌控的深度有待加強(qiáng)。
應(yīng)用轉(zhuǎn)型方面:商業(yè)銀行長期的發(fā)展中積累了大量軟件資產(chǎn),轉(zhuǎn)型過程需要投入大量的人力資源,分布式轉(zhuǎn)型與業(yè)務(wù)創(chuàng)新的平衡難度較高。
安全生產(chǎn)方面:分布式技術(shù)本身以及人員相關(guān)技能都需要一個(gè)逐步完善和成熟的過程,對生產(chǎn)穩(wěn)定運(yùn)行也帶來挑戰(zhàn)。因此,商業(yè)銀行在面對紛繁復(fù)雜的業(yè)務(wù)場景時(shí),需要在實(shí)踐中創(chuàng)造性地解決各類問題。






