数字化转型下的银行云单元架构
01
為什么需要云單元架構(gòu)
云單元架構(gòu)是在微服務(wù)架構(gòu)上發(fā)展起來(lái)的解決 IT 系統(tǒng)擴(kuò)展性及業(yè)務(wù)連續(xù)性的技術(shù)架構(gòu),它并不是隨著微服務(wù)架構(gòu)一起誕生的,而是 IT 系統(tǒng)發(fā)展到一定規(guī)模且對(duì)業(yè)務(wù)連續(xù)性有高要求的情況下需要具備的技術(shù)能力。
從集中式架構(gòu)到分布式架構(gòu)
傳統(tǒng)的集中式 IT 系統(tǒng)架構(gòu)如下圖所示,由小型機(jī)(比如 IBM 的 P 系列等)、存儲(chǔ)設(shè)備(EMC 的 VNX 系列等)、硬件負(fù)載均衡設(shè)備(典型的比如 F5)等基礎(chǔ)設(shè)施構(gòu)成,這些硬件設(shè)備具備很強(qiáng)的穩(wěn)定性,因此在金融行業(yè)這些產(chǎn)品具有很高的市場(chǎng)占用率。
隨著金融行業(yè)新業(yè)務(wù)的不斷擴(kuò)展,集中式架構(gòu)的弊端逐漸顯現(xiàn)出來(lái),比如小型機(jī)雖然性能足夠強(qiáng)大,但是面對(duì)突增的業(yè)務(wù),處理能力往往很難快速提升。F5這類(lèi)硬件負(fù)載均衡設(shè)備,雖然單機(jī)處理能力足夠強(qiáng)大,但是成本高昂,無(wú)法進(jìn)行大規(guī)模冗余化配備以保障其可用能力。此外,類(lèi)似 EMC 這樣的高端存儲(chǔ)設(shè)備,在面向海量數(shù)據(jù)的情況下,單位存儲(chǔ)成本巨大,在擴(kuò)展性上也無(wú)法與采用 PC 的分布式存儲(chǔ)相比。因此,在金融行業(yè)的一些新業(yè)務(wù)場(chǎng)景甚至部分非核心系統(tǒng)上,原有的架構(gòu)已經(jīng)開(kāi)始嘗試向分布式架構(gòu)演進(jìn),如下圖所示。在分布式系統(tǒng)架構(gòu)下,普通的 PC 機(jī)取代了小型機(jī),用來(lái)部署應(yīng)用系統(tǒng),通過(guò)多機(jī)部署,應(yīng)用系統(tǒng)的冗余能力大幅提升,單機(jī)故障的影響也隨之大幅降低。在流量負(fù)載上,分布式架構(gòu)往往會(huì)引入軟負(fù)載能力,通過(guò)軟件實(shí)現(xiàn)流量的負(fù)載均衡,確保在流量路由層面也具備更好的冗余能力。在數(shù)據(jù)庫(kù)層面,隨著 MySQL 這類(lèi)開(kāi)源數(shù)據(jù)庫(kù)的廣泛使用,在金融行業(yè)分布式系統(tǒng)架構(gòu)演進(jìn)過(guò)程中,這種類(lèi)型的數(shù)據(jù)庫(kù)也逐漸取代了一部分 Oracle 數(shù)據(jù)庫(kù),成為應(yīng)用系統(tǒng)數(shù)據(jù)存儲(chǔ)的關(guān)鍵組件。
分布式系統(tǒng)架構(gòu)演進(jìn)
分布式系統(tǒng)架構(gòu)的演進(jìn)并不是一蹴而就的,根據(jù)業(yè)務(wù)在不同發(fā)展階段的需求,分布式系統(tǒng)的架構(gòu)需要根據(jù)實(shí)際情況做出相應(yīng)的變化。通常,一個(gè)分布式系統(tǒng)架構(gòu)的演進(jìn)往往會(huì)經(jīng)歷這些歷史階段:單體架構(gòu)、應(yīng)用與數(shù)據(jù)庫(kù)服務(wù)器拆分、緩存/搜索的能力引入、數(shù)據(jù)庫(kù)讀寫(xiě)分離、數(shù)據(jù)庫(kù)水平/垂直拆分、應(yīng)用拆分、微服務(wù)化等。當(dāng)然,并不是所有的系統(tǒng)都會(huì)經(jīng)歷全部這些階段,一些較為核心的系統(tǒng)可能會(huì)跳過(guò)前面幾個(gè)階段,直接用已經(jīng)成熟的微服務(wù)架構(gòu)來(lái)搭建服務(wù)。
02
微服務(wù)架構(gòu)下的容災(zāi)和容量問(wèn)題
容災(zāi)問(wèn)題
分布式架構(gòu)在一定程度上將業(yè)務(wù)系統(tǒng)的計(jì)算能力和數(shù)據(jù)進(jìn)行拆分,并通過(guò)負(fù)載均衡系統(tǒng)將流量按照一定規(guī)則路由到不同的節(jié)點(diǎn)進(jìn)行處理,因此,在分布式架構(gòu)下系統(tǒng)的處理能力不再是“單點(diǎn)”的。隨著微服務(wù)架構(gòu)的升級(jí),應(yīng)用變得更加輕量化,系統(tǒng)的單機(jī)“自愈”能力能夠得到充分的利用,應(yīng)用在出現(xiàn)一些單機(jī)問(wèn)題時(shí)往往可以通過(guò)快速重啟等手段迅速恢復(fù)業(yè)務(wù)。但是,單機(jī)恢復(fù)能力并不一定在任何故障場(chǎng)景中都能適用,在出現(xiàn)城市級(jí)斷電或者網(wǎng)絡(luò)故障等極端場(chǎng)景中,應(yīng)用系統(tǒng)往往不是一臺(tái)機(jī)器出現(xiàn)問(wèn)題,而是這個(gè)區(qū)域的所有服務(wù)都出現(xiàn)問(wèn)題。這個(gè)時(shí)候,如果沒(méi)有一種災(zāi)備恢復(fù)機(jī)制,保障所有服務(wù)可快速切換到新的服務(wù)區(qū)域,業(yè)務(wù)系統(tǒng)的恢復(fù)時(shí)長(zhǎng)將會(huì)變得非常不可控。因此,核心系統(tǒng)的同城/異地災(zāi)備能力建設(shè)顯得尤為重要。為了使業(yè)務(wù)系統(tǒng)具備更高的風(fēng)險(xiǎn)抵抗能力,在進(jìn)行機(jī)房選址時(shí),往往會(huì)選擇一個(gè)距離較遠(yuǎn)(超過(guò) 1000 千米)的機(jī)房作為其中的一個(gè)災(zāi)備機(jī)房,如下圖所示。當(dāng)發(fā)生城市級(jí)故障時(shí),業(yè)務(wù)系統(tǒng)需要具備隨時(shí)可切換至城市二機(jī)房的能力。但現(xiàn)實(shí)情況是,由于城市二機(jī)房長(zhǎng)時(shí)間沒(méi)有流量進(jìn)行常態(tài)化驗(yàn)證,業(yè)務(wù)流量切換過(guò)去以后并不能百分之百保障業(yè)務(wù)處理沒(méi)有問(wèn)題,因此,這種情況下的容災(zāi)切換往往需要冒著較大的風(fēng)險(xiǎn)。
容量問(wèn)題
在分布式系統(tǒng)架構(gòu)下,應(yīng)用服務(wù)的服務(wù)器隨著用戶(hù)需求的增長(zhǎng)不斷進(jìn)行橫向擴(kuò)展,單個(gè)應(yīng)用的機(jī)器數(shù)變得越來(lái)越多,由于用戶(hù)流量是通過(guò)負(fù)載均衡隨機(jī)分配給每臺(tái)機(jī)器的,因此這個(gè)應(yīng)用的每臺(tái)機(jī)器都會(huì)跟數(shù)據(jù)庫(kù)建立起一定數(shù)量的連接,這就導(dǎo)致隨著應(yīng)用容器的增長(zhǎng),終有一天應(yīng)用訪問(wèn)會(huì)達(dá)到數(shù)據(jù)庫(kù)的連接數(shù)上限。如下圖所示,單個(gè) DB 承載的連接數(shù)通常跟操作系統(tǒng)的線程數(shù)上限有一定關(guān)系,假設(shè)每臺(tái)機(jī)器增加 100 個(gè)連接,單個(gè) DB 的連接總數(shù)總有一天會(huì)被占滿。
03
云單元架構(gòu)的誕生
云單元架構(gòu)是指在多機(jī)房部署架構(gòu)下,對(duì)業(yè)務(wù)處理能力進(jìn)行邏輯上的單元?jiǎng)澐?#xff0c;使業(yè)務(wù)流量按照一定規(guī)則分配到各個(gè)單元中,同時(shí)盡量確保用戶(hù)流量始終收斂在一個(gè)單元內(nèi)完成的架構(gòu)。在云單元架構(gòu)下,每個(gè)單元的流量會(huì)按照特定的規(guī)則分配到不同的應(yīng)用容器中,同時(shí)通過(guò)分庫(kù)分表規(guī)則路由到不同的數(shù)據(jù)庫(kù)分庫(kù),如下圖所示。由于每個(gè)單元的容器數(shù)量有限,因此,單元內(nèi)的服務(wù)器擴(kuò)容不會(huì)導(dǎo)致數(shù)據(jù)庫(kù)達(dá)到連接數(shù)上限。同時(shí),通過(guò)單元的新增,又可以保障系統(tǒng)容量可以進(jìn)行理論上的無(wú)限擴(kuò)展。
云單元架構(gòu)總覽
云單元架構(gòu)的核心是通過(guò)單元化部署使整體架構(gòu)具備異地多數(shù)據(jù)中心并行計(jì)算能力,同時(shí)基于金融級(jí)的分布式關(guān)系型數(shù)據(jù)庫(kù),通過(guò)多機(jī)房部署實(shí)現(xiàn)城市級(jí)故障下數(shù)據(jù)無(wú)損容災(zāi)切換。通過(guò)云單元架構(gòu)擴(kuò)展能力,業(yè)務(wù)可以在不同地域的 IDC(Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)中部署多個(gè) LDC(Logic Data Center,邏輯數(shù)據(jù)中心),且每個(gè) LDC 單元都是“活”的,日常承接線上真實(shí)業(yè)務(wù)流量,以確保每個(gè)邏輯單元的穩(wěn)定性與業(yè)務(wù)正確性。當(dāng)故障發(fā)生時(shí),可以進(jìn)行 LDC 單元之間的快速切換,一個(gè) LDC 單元對(duì)應(yīng)的災(zāi)備 LDC 單元也是一個(gè)“活”的單元。為確保異地機(jī)房能日常承載業(yè)務(wù)流量,實(shí)現(xiàn)了跨機(jī)房的服務(wù)注冊(cè)與發(fā)現(xiàn)能力,提供了跨機(jī)房的服務(wù)調(diào)用路由邏輯,從入口流量到分布式服務(wù)、中間件和底層數(shù)據(jù)庫(kù),全鏈路消除了單點(diǎn),使整體服務(wù)都具備了跨機(jī)房、跨地域的擴(kuò)展能力。網(wǎng)商銀行總體架構(gòu)如下圖所示。
04
云單元架構(gòu)目標(biāo)
云單元架構(gòu)的設(shè)計(jì)目標(biāo)主要包含以下幾個(gè)方面:(1)具備系統(tǒng)跨地域、快速?gòu)椥圆渴鸬哪芰?#xff1b;(2)具備流量可隨時(shí)動(dòng)態(tài)調(diào)配的全業(yè)務(wù)“多地多活”的能力;(3)具備一體化研發(fā)運(yùn)維能力;(4)具備海量業(yè)務(wù)并行處理的能力。
跨地域彈性部署
在分布式服務(wù)設(shè)計(jì)領(lǐng)域,一個(gè)云單元就是滿足某個(gè)分區(qū)所有業(yè)務(wù)操作的自包含集合體。這個(gè)集合體可以按照用戶(hù)、地域、業(yè)務(wù)類(lèi)型等不同維度進(jìn)行單元化的數(shù)據(jù)拆分和獨(dú)立部署。基于這種單元化的部署能力,可以靈活地進(jìn)行多地、多數(shù)據(jù)中心的建設(shè),如下圖所示。
有了對(duì)邏輯單元的快速搭建和部署以及一鍵單元建站能力,在未來(lái)面臨大容量需求時(shí),可以通過(guò)在云計(jì)算平臺(tái)上快速進(jìn)行資源調(diào)度,構(gòu)建新的處理單元來(lái)部署應(yīng)用與數(shù)據(jù)庫(kù),然后將流量與數(shù)據(jù)“彈出”到新的單元,快速提升系統(tǒng)容量。當(dāng)流量消失后,再將流量與數(shù)據(jù)“彈回”,釋放云計(jì)算平臺(tái)上的資源,動(dòng)態(tài)地?cái)U(kuò)充單機(jī)房容量。當(dāng)單機(jī)房容量不夠時(shí),通過(guò)增加新的異地 IDC 機(jī)房擴(kuò)充總體容量,總體容量不受距離、地域以及物理資源的限制,真正實(shí)現(xiàn)了彈性、單元化的部署能力。多機(jī)房流量分布如下圖所示。
全業(yè)務(wù)“多地多活”
云單元架構(gòu)的核心目標(biāo)之一是保障銀行在多個(gè)城市(不同城市之間距離超過(guò)1000 千米)的邏輯單元都具備處理全量業(yè)務(wù)的能力,只有這樣才能充分利用各城市的存儲(chǔ)、計(jì)算等資源,同時(shí)又能在出現(xiàn)城市級(jí)故障時(shí),某個(gè)邏輯單元的用戶(hù)可以被其他城市的 IDC 所接管,繼續(xù)為用戶(hù)提供服務(wù)。
在形成單元化彈性部署的能力的基礎(chǔ)上,不同邏輯單元之間可以將分區(qū)對(duì)應(yīng)的流量根據(jù)邏輯單元資源的負(fù)載情況靈活調(diào)整,通過(guò)流量調(diào)撥,將不同用戶(hù)的請(qǐng)求分發(fā)到不同的數(shù)據(jù)中心進(jìn)行處理,所有數(shù)據(jù)中心同時(shí)承載業(yè)務(wù)流量,達(dá)到全業(yè)務(wù)“多地多活”服務(wù)模式。這種模式結(jié)合異地機(jī)房的資金清算專(zhuān)線鏈路的打通,可以保證任一機(jī)房級(jí)故障均不影響銀行業(yè)務(wù)的整體對(duì)外服務(wù)。全業(yè)務(wù)“異地多活”模式如下圖所示。
一體化研發(fā)運(yùn)維
在建設(shè)“多地多活”技術(shù)架構(gòu)體系的過(guò)程中,原有研發(fā)平臺(tái)已經(jīng)不能適應(yīng)新的架構(gòu)體系,需要建設(shè)新研發(fā)協(xié)作平臺(tái)來(lái)支持架構(gòu)升級(jí),同時(shí)顯著提升需求迭代效率,以及質(zhì)量、風(fēng)險(xiǎn)控制水平和產(chǎn)能。通過(guò)打造全新的一站式研發(fā)協(xié)作平臺(tái),實(shí)現(xiàn)了端到端的全流程、全角色的持續(xù)交付管理,將需求迭代、代碼開(kāi)發(fā)、發(fā)布管控等流程并行處理,并在關(guān)鍵節(jié)點(diǎn)上建立了同步機(jī)制,業(yè)務(wù)需求方、產(chǎn)品設(shè)計(jì)人員、項(xiàng)目管理人員、開(kāi)發(fā)測(cè)試人員能夠統(tǒng)一在一個(gè)研發(fā)協(xié)作流程中,完成高效協(xié)同工作。研發(fā)人員在平臺(tái)上可以靈活地獲取測(cè)試需要的服務(wù)器資源,平臺(tái)提供一鍵部署研發(fā)服務(wù)器的能力,支持快速搭建項(xiàng)目環(huán)境,高效地在多個(gè)環(huán)境中完成基礎(chǔ)配置變更(主要是中間件的一些配置),在完成流程審批后,可以將該版本發(fā)布到多個(gè)環(huán)境中,從線下到線上全流程無(wú)縫對(duì)接,構(gòu)建一站式持續(xù)交付能力,減小“異地多活”技術(shù)架構(gòu)體系在配置修改、環(huán)境構(gòu)建和發(fā)布部署等方面帶來(lái)的復(fù)雜度。
海量交易處理能力
隨著 IoT(物聯(lián)網(wǎng))技術(shù)的迅猛發(fā)展,未來(lái)將從互聯(lián)網(wǎng)時(shí)代步入萬(wàn)物互聯(lián)時(shí)代,無(wú)處不在的交易終端和無(wú)數(shù)新的交易場(chǎng)景,會(huì)繼續(xù)帶來(lái)金融交易量的指數(shù)級(jí)增長(zhǎng)。什么樣的架構(gòu)與技術(shù)可以處理萬(wàn)物互聯(lián)時(shí)代的海量交易,是需要未雨綢繆的。
云單元架構(gòu)要解決的一個(gè)核心問(wèn)題是海量交易的處理能力問(wèn)題,大多數(shù)業(yè)務(wù)并不是一誕生就具備海量用戶(hù)的,交易量是逐漸增長(zhǎng)的,那么在架構(gòu)上我們既需要具備一定的前瞻性,又需要具備針對(duì)不同量級(jí)的業(yè)務(wù)進(jìn)行分級(jí)實(shí)施。比如在設(shè)計(jì)上要支持全行單日百億筆以上的處理量,實(shí)現(xiàn)上會(huì)支持 10 億筆處理量,部署上會(huì)支持 3 億~5 億筆處理量。
在數(shù)字化時(shí)代的當(dāng)下,金融需求出現(xiàn)了場(chǎng)景化、碎片化、多樣化、長(zhǎng)尾化、普惠化的新特點(diǎn),百年未有的變化沖擊著傳統(tǒng)金融級(jí)IT架構(gòu)。
新金融級(jí)IT架構(gòu)應(yīng)該包含什么樣的新能力?
關(guān)鍵挑戰(zhàn)是什么?
如何進(jìn)行穩(wěn)妥升級(jí)轉(zhuǎn)型?
新興技術(shù)如何支撐金融級(jí)架構(gòu)演進(jìn)?
核心金融系統(tǒng)如何保證風(fēng)險(xiǎn)可控?
業(yè)務(wù)架構(gòu)如何適應(yīng)數(shù)字化要求?
信息安全建設(shè)如何為業(yè)務(wù)和技術(shù)發(fā)展保駕護(hù)航?
為了幫助同行在了解浙江網(wǎng)商銀行(以下簡(jiǎn)稱(chēng)“網(wǎng)商銀行”)IT發(fā)展歷程的同時(shí),也能獲得一些解答上述問(wèn)題的啟發(fā),網(wǎng)商銀行技術(shù)編委會(huì)特地寫(xiě)就了《金融級(jí)IT架構(gòu):數(shù)字銀行的云原生架構(gòu)解密》一書(shū),期望能給同行帶來(lái)一些可參考、可借鑒、可落地的經(jīng)驗(yàn)。
如果你想了解更多金融級(jí)IT架構(gòu)的構(gòu)建細(xì)節(jié),本書(shū)一定不可錯(cuò)過(guò)!
往期推薦
漫畫(huà):據(jù)說(shuō)很多搞軟件的羨慕硬件工程師
一線大廠的企業(yè)云原生成本優(yōu)化實(shí)踐指南
源三:聊聊注冊(cè)中心在螞蟻集團(tuán)的降本提效之路
聊聊技術(shù)人的“績(jī)效考核”
敏捷效能提升的五大要素與誤區(qū)
總結(jié)
以上是生活随笔為你收集整理的数字化转型下的银行云单元架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hdu 2112 HDU Today 最
- 下一篇: NYOJ 20 吝啬的国度 (搜索)