ITBear旗下自媒體矩陣:

干貨!支付寶金融級IT架構(gòu)及分布式架構(gòu)的應(yīng)用實(shí)踐

   時(shí)間:2020-07-09 14:07:27 來源:ITBEAR編輯:星輝 發(fā)表評論無障礙通道

導(dǎo)語:?過去幾年是云原生理念高速普及的黃金時(shí)期。微服務(wù)、容器、無服務(wù)器架構(gòu)、服務(wù)網(wǎng)格等新技術(shù)的出現(xiàn),在技術(shù)社區(qū)中激起了一浪又一浪的創(chuàng)新熱潮。然而由于金融行業(yè)對性能和安全的嚴(yán)苛要求,云原生技術(shù)在企業(yè)實(shí)際場景中的實(shí)施落地,特別是在金融場景的實(shí)施落地,仍然面臨諸多挑戰(zhàn)。

本文整理自2020阿里云線上峰會螞蟻集團(tuán)資深技術(shù)專家尹博學(xué)的主題演講,為大家分享螞蟻關(guān)于金融級IT架構(gòu)及分布式架構(gòu)的思考和應(yīng)用實(shí)踐。關(guān)注“螞蟻金服科技”公眾號,螞蟻SOFAStack白皮書即將發(fā)布,不要錯(cuò)過哦~~

以下為演講整理全文:

大家好,我是螞蟻集團(tuán)的尹博學(xué),今天和大家分享一下螞蟻關(guān)于金融級IT架構(gòu)及分布式架構(gòu)的一些思考和應(yīng)用案例,主要包含三個(gè)部分,分別是行業(yè)常見的分布式架構(gòu)介紹、螞蟻單元化架構(gòu)的介紹以及單元化架構(gòu)的應(yīng)用案例。

行業(yè)常見分布式架構(gòu)

行業(yè)常見的分布式架構(gòu)主要包含,單活架構(gòu)、雙活架構(gòu)和冷備架構(gòu)。從容災(zāi)能力角度來看,雙活架構(gòu)和冷備架構(gòu)均能做到應(yīng)用級跨機(jī)房容災(zāi),但是數(shù)據(jù)庫因?yàn)槭褂昧水惒綇?fù)制的技術(shù),無法做到機(jī)房級RPO=0的容災(zāi)。再看灰度發(fā)布的能力,冷備架構(gòu)和雙活架構(gòu)都只能做到機(jī)房級灰度發(fā)布,無法做到更細(xì)粒度的灰度發(fā)布。

1

螞蟻單元化架構(gòu)介紹

在介紹完行業(yè)常見的分布式架構(gòu)后,我們來看一下螞蟻的分布式架構(gòu)發(fā)展歷程,和單元化架構(gòu)的詳細(xì)介紹。

這是螞蟻分布式架構(gòu)發(fā)展歷程。螞蟻也經(jīng)歷了單活、同城雙活、兩地三中心,三個(gè)階段。其中兩地三中心是同城雙活加一個(gè)冷備。隨著螞蟻業(yè)務(wù)和業(yè)務(wù)量復(fù)雜度的越來越高,業(yè)務(wù)對于基礎(chǔ)架構(gòu)的要求也越來越高,即擴(kuò)展能力、容災(zāi)能力、灰度能力要求越來越高。最終螞蟻發(fā)展到了單元化架構(gòu),將主要業(yè)務(wù)拆分單元即分片,裝入不同的邏輯單元內(nèi),每個(gè)分片的數(shù)據(jù)庫實(shí)現(xiàn)三地五中心部署即三地五中心的單元化架構(gòu)。

首先我們來看一下螞蟻單元化架構(gòu)的整體架構(gòu)設(shè)計(jì),整體架構(gòu)包含RZone、GZone和CZone。其中GZone部署的是無法拆分的數(shù)據(jù)和業(yè)務(wù),GZone的數(shù)據(jù)和業(yè)務(wù)被RZone依賴,GZone全局只部署一份,而RZone部署的是可拆分的業(yè)務(wù)和對應(yīng)的數(shù)據(jù)。每個(gè)RZone內(nèi)的數(shù)據(jù)分片如圖所示有五副本,實(shí)現(xiàn)三地五中心部署,每個(gè)分片內(nèi)只有一個(gè)可寫入的主副本,其余副本按照Paxos協(xié)議做數(shù)據(jù)強(qiáng)一致。每個(gè)RZone內(nèi)實(shí)現(xiàn)業(yè)務(wù)單元封閉,獨(dú)立完成自己的所有業(yè)務(wù)。而CZone的出現(xiàn)是因?yàn)镚Zone全局只有一份,不同城市的RZone可能依賴GZone服務(wù)和數(shù)據(jù)的時(shí)候需要遠(yuǎn)距離調(diào)用,延遲比較大,所以在每個(gè)城市部署一個(gè)CZone作為GZone的只讀副本,為本城市的RZone提供服務(wù)。

2

介紹完單元化架構(gòu)的整體設(shè)計(jì)之后,我們從容災(zāi)、灰度發(fā)布、彈性三個(gè)方面詳細(xì)看一下該架構(gòu)的能力。

首先看容災(zāi)能力,容災(zāi)能力分為同城容災(zāi)和異地容災(zāi),以圖中所示為例,RZone1出現(xiàn)故障先看同城容災(zāi)能力,我們目標(biāo)將RZone1切換至同城容災(zāi)RZone2。先做數(shù)據(jù)庫分片切換,RZone1對應(yīng)的分片為分片1,把分片1在RZone2的副本提升為主副本,數(shù)據(jù)庫副本提升完畢后將RZone1的流量切換至RZone2,實(shí)現(xiàn)同城容災(zāi)RPO=0、RTO<1min。

再看異地容災(zāi),同樣以RZone1故障為例。目標(biāo)切換至RZone3,先做數(shù)據(jù)庫切換,分片1在RZone3的副本切換成主副本,完成后將RZone1的流量切換至RZone3,實(shí)現(xiàn)異地容災(zāi),該過程RPO=0、RTO<1min。

接下來我們看彈性。彈性的背景是業(yè)務(wù)在大促、節(jié)假日等流量出現(xiàn)大幅上漲的過程,我們可以短期租借新的城市和新的IDC。如圖所示,我們租借城市X的IDCX作為RZoneX,將RZone5的部分流量彈出至RZoneX,對應(yīng)流量的數(shù)據(jù)也彈出至RZoneX內(nèi)。在節(jié)假日大促結(jié)束之后,將RZoneX內(nèi)的流量和數(shù)據(jù)彈回至RZone5,然后回收RzoneX,這樣大幅節(jié)約了機(jī)房成本。

5

介紹完彈性之后,我們來看灰度能力。如圖所示,我們將四個(gè)RZone(RZone1、RZone2、RZone3、RZone4)的業(yè)務(wù)和應(yīng)用分為A、B組,日常A組和B組各承擔(dān)50%的應(yīng)用流量。在應(yīng)用新版本發(fā)布時(shí),我們將A組的流量全部切換至B組,此時(shí)在A組上部署新版本,部署完畢后將B組的流量按粒度切換至A組上,切換粒度等于數(shù)據(jù)分片的粒度。在切換的過程中可以做A組和B組的服務(wù)對比,如果發(fā)現(xiàn)A組的服務(wù)異常,可以快速將流量切換回B組。在A組服務(wù)一段時(shí)間后無異常發(fā)生,最終可以將B組的流量全部切換至A組,把B組的版本更新為新的版本,在整個(gè)切換的過程中實(shí)現(xiàn)了可灰度、可回滾、可監(jiān)控。

6

我們再深入到架構(gòu)內(nèi)部,來闡釋一下架構(gòu)內(nèi)關(guān)鍵模塊是如何支撐該架構(gòu)的。

首先我們看流量路由模塊。流量路由模塊的核心是將用戶的uid信息和對應(yīng)的Zone信息植入到cookie中,供流量路由模塊做精準(zhǔn)路由。我們以用戶uid=68、RZone=RZ03為例來看流量路由模塊是如何工作的,首次用戶接入時(shí)cookie內(nèi)無zone信息,流量接入模塊會隨即將該請求發(fā)到一個(gè)RZone內(nèi),如發(fā)到RZone1內(nèi),RZone1通過zoneClinet會準(zhǔn)確計(jì)算該請求應(yīng)發(fā)至RZone3,即通過RouteClinet將該請求發(fā)送。發(fā)送過程中將計(jì)算出的uid信息和對應(yīng)的zone信息植入cookie內(nèi)轉(zhuǎn)發(fā)至RZone3,RZone3完成本次業(yè)務(wù)請求后將結(jié)果返回給用戶,其后用戶同意session內(nèi)的其它請求,因?yàn)樵赾ookie內(nèi)已經(jīng)有了準(zhǔn)確的路由信息,會被流量路由模塊準(zhǔn)確的發(fā)至RZone3完成業(yè)務(wù)請求。

接著我們再看一下服務(wù)路由,服務(wù)路由分為本機(jī)房服務(wù)路由和跨機(jī)房服務(wù)路由調(diào)用。先看本機(jī)房服務(wù)路由,服務(wù)調(diào)用端向本機(jī)房服務(wù)注冊中心訂閱服務(wù),發(fā)現(xiàn)服務(wù)地址后做本機(jī)房服務(wù)路由調(diào)用。再看跨機(jī)房服務(wù)路由調(diào)用,服務(wù)調(diào)用端向其他IDC的注冊中心訂閱服務(wù)地址,發(fā)現(xiàn)服務(wù)地址后做跨機(jī)房服務(wù)調(diào)用。

最后我們看數(shù)據(jù)是如何實(shí)現(xiàn)高可靠的。螞蟻使用自研的分布式關(guān)系數(shù)據(jù)庫OceanBase,每個(gè)分片的數(shù)據(jù)庫做5副本部署,部署地域?qū)崿F(xiàn)三地五中心部署,5副本中有3副本實(shí)現(xiàn)強(qiáng)一致,如圖所示可以實(shí)現(xiàn)同城、IDC容災(zāi)和異地容災(zāi)。

3

單元化架構(gòu)實(shí)踐場景

介紹完螞蟻單元化架構(gòu)的主要概念即關(guān)鍵模塊信息之后,我們看一下單元化架構(gòu)在外部客戶實(shí)施的一些案例。

第一個(gè)案例是一家城商行,它的業(yè)務(wù)系統(tǒng)、IT系統(tǒng)歷史比較長,無法一步跨越到單元化架構(gòu),我們?yōu)槠渫扑]了大GZone的模式,即把城商行的所有服務(wù)和數(shù)據(jù)不做拆分,直接裝入一個(gè)GZone內(nèi),在GZone的基礎(chǔ)上實(shí)現(xiàn)同城雙活即應(yīng)用同城雙中心部署,數(shù)據(jù)庫同城三中心部署,從而實(shí)現(xiàn)同城容災(zāi)能力,RPO=0、RTO<1min,但無法實(shí)現(xiàn)異地容災(zāi)能力,其可灰度能力和彈性能力都無法做到更細(xì)力度。

再看第二個(gè)區(qū)域銀行的案例。我們?yōu)檫@家區(qū)域銀行實(shí)現(xiàn)了同城單元化,即將這家區(qū)域銀行的主要業(yè)務(wù)拆分成兩個(gè)邏輯業(yè)務(wù)單元兩個(gè)分片,將其裝入一個(gè)城市的兩個(gè)IDC內(nèi),在另外一個(gè)城市建設(shè)冷備,其數(shù)據(jù)庫每個(gè)分片實(shí)現(xiàn)5副本部署,其中4副本在主城市兩個(gè)中心內(nèi)部署,1副本部署在了本機(jī)房內(nèi)。該架構(gòu)實(shí)現(xiàn)了同城容災(zāi)能力,同時(shí)也實(shí)現(xiàn)了細(xì)粒度的灰度能力和彈性能力,但同樣無法實(shí)現(xiàn)異地容災(zāi)能力。

4

最后我們看一下螞蟻網(wǎng)商銀行的案例。網(wǎng)商銀行實(shí)現(xiàn)了異地多活單元化完整的架構(gòu),網(wǎng)商銀行的主要業(yè)務(wù)拆分成了4個(gè)分片,裝入4個(gè)RZone內(nèi),這4個(gè)RZone分別部署在了兩個(gè)城市內(nèi),各承擔(dān)25%的流量,而數(shù)據(jù)庫實(shí)現(xiàn)5副本三個(gè)城市部署。其中提供服務(wù)的兩個(gè)地域兩個(gè)城市部署4副本,遠(yuǎn)端部署1副本。該架構(gòu)實(shí)現(xiàn)了同城容災(zāi)、異地容災(zāi),同時(shí)也實(shí)現(xiàn)更細(xì)粒度的灰度能力和彈性伸縮能力。

介紹完這三個(gè)案例后,我們看到了單元化架構(gòu)的一個(gè)靈活性,既可以大GZone部署,也可以同城單元化部署和異地多活單元化部署。今天我們介紹了螞蟻架構(gòu)的發(fā)展歷程即單元化在一些關(guān)鍵外部客戶的應(yīng)用案例。

我的介紹就到這里,謝謝大家。

加入我們:

螞蟻集團(tuán)-商業(yè)化產(chǎn)品專家

工作地點(diǎn):杭州、上海

崗位職責(zé):

1、對金融科技或云計(jì)算相關(guān)領(lǐng)域熟悉,結(jié)合行業(yè)發(fā)展趨勢及業(yè)務(wù)戰(zhàn)略方向?qū)ζ脚_/行業(yè)產(chǎn)品的長期發(fā)展做出市場判斷和業(yè)務(wù)規(guī)劃,找到產(chǎn)品商業(yè)化的突破。

2、作為產(chǎn)品,協(xié)同銷售、產(chǎn)品、研發(fā)、運(yùn)營團(tuán)隊(duì),推進(jìn)重大產(chǎn)品項(xiàng)目的落地,拿到滿足業(yè)務(wù)訴求的產(chǎn)品產(chǎn)出,并且能夠以技術(shù)商業(yè)咨詢的角度協(xié)同業(yè)務(wù)團(tuán)隊(duì)落地重要客戶項(xiàng)目。

3、確保螞蟻在金融科技領(lǐng)域中的產(chǎn)品行業(yè)競爭力和影響力,對螞蟻產(chǎn)品的競爭力負(fù)責(zé)。

4、在產(chǎn)品相關(guān)的技術(shù)領(lǐng)域,完成競爭對手的動態(tài)和優(yōu)劣勢分析

5、產(chǎn)品生態(tài)合作伙伴的建設(shè)和運(yùn)營,結(jié)合行業(yè)生態(tài),快速形成市場規(guī)模形成面向行業(yè)的場景化解決方案。

任職資格:

1、5年以上企業(yè)級產(chǎn)品設(shè)計(jì)、規(guī)劃、和管理的工作經(jīng)驗(yàn) ,在產(chǎn)品決策、執(zhí)行和愿景規(guī)劃上有全面把控能力, 有國際化視野優(yōu)先;

2. 深入理解云計(jì)算技術(shù)和云原生技術(shù)(如:微服務(wù)、devops、k8s、serverless等),熟悉業(yè)界主流云廠商 PaaS 平臺和產(chǎn)品,了解其特性和各自的優(yōu)劣勢;

3、業(yè)務(wù)能力,對金融科技化有深刻的理解,熟悉領(lǐng)域內(nèi)領(lǐng)先公司的業(yè)務(wù)及產(chǎn)品,對業(yè)務(wù)趨勢有自己的見解和分析;

4、產(chǎn)品能力,能綜合多業(yè)務(wù)的不同場景,形成產(chǎn)品設(shè)計(jì)和解決方案設(shè)計(jì)。

5、協(xié)同能力,具備良好的團(tuán)隊(duì)溝通協(xié)同能力,能推動多業(yè)務(wù)、角色的大型項(xiàng)目順利推進(jìn),結(jié)果導(dǎo)向帶領(lǐng)團(tuán)隊(duì)拿到結(jié)果;

6、技術(shù)能力,在深度學(xué)習(xí)、分布式架構(gòu)、企業(yè)級應(yīng)用平臺,數(shù)據(jù)庫、大數(shù)據(jù)等一個(gè)或者多個(gè)領(lǐng)域有深入研究和理解;

7、敬業(yè)精神及抗壓能力,有ownership,有很強(qiáng)的抗壓能力和心力,能在關(guān)鍵時(shí)刻找到突破點(diǎn)。

簡歷投遞郵箱:

zhenxiong.mzx@antgroup.com

舉報(bào) 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version