溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

發(fā)布時(shí)間:2020-06-11 15:43:30 來(lái)源:網(wǎng)絡(luò) 閱讀:495 作者:RancherLabs 欄目:云計(jì)算

2019年6月20日,由Rancher Labs(以下簡(jiǎn)稱Rancher)主辦的第三屆企業(yè)容器創(chuàng)新大會(huì)(Enterprise Container Innovation Conference, 以下簡(jiǎn)稱ECIC)在北京喜來(lái)登大酒店盛大舉行。本屆ECIC規(guī)模宏大,全天共設(shè)置了17場(chǎng)主題演講,吸引了近千名容器技術(shù)愛好者參加,超過(guò)10000名觀眾在線上直播平臺(tái)觀看了本次盛會(huì)。

來(lái)自Rancher、阿里云、百度云、平安科技、中國(guó)聯(lián)通、飛貸金融科技、中國(guó)人壽、SmartX、華泰保險(xiǎn)、廈門航空、JFrog、新東方、Cisco等十多家企業(yè)的技術(shù)負(fù)責(zé)人出席了本屆ECIC,現(xiàn)場(chǎng)帶來(lái)關(guān)于企業(yè)容器項(xiàng)目實(shí)踐經(jīng)驗(yàn)的精彩分享,為參會(huì)的容器技術(shù)愛好者帶來(lái)企業(yè)容器化的經(jīng)驗(yàn)分享。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

大會(huì)現(xiàn)場(chǎng),飛貸金融科技作為金融行業(yè)數(shù)據(jù)庫(kù)容器化的典型案例,為現(xiàn)場(chǎng)的容器愛好者帶來(lái)了題為《金融領(lǐng)域數(shù)據(jù)庫(kù)生產(chǎn)容器化及Istio應(yīng)用》的實(shí)踐經(jīng)驗(yàn)分享。

?

對(duì)于飛貸金融科技而言,生產(chǎn)容器化及數(shù)據(jù)庫(kù)應(yīng)用的難點(diǎn)在于,如何針對(duì)金融領(lǐng)域生產(chǎn)容器化及數(shù)據(jù)庫(kù)容器應(yīng)用進(jìn)行實(shí)踐創(chuàng)新,如何結(jié)合研發(fā)及業(yè)務(wù)場(chǎng)景落地,提升資源利用效率、提升產(chǎn)品研發(fā)、運(yùn)維管理效率。

?

飛貸金融科技副總裁陳定瑋表示:“金融行業(yè)數(shù)據(jù)具有相較于其他行業(yè)更為嚴(yán)格的安全高標(biāo)準(zhǔn),在安全合規(guī)的情況下用飛貸自研中間件,解決金融領(lǐng)域DB應(yīng)用場(chǎng)景難題,帶來(lái)10x的DB交付效率,極致的彈性擴(kuò)容能力?!?

演講實(shí)錄

飛貸金融科技成立于2010年,是移動(dòng)信貸整體技術(shù)服務(wù)商。我們以科技創(chuàng)新作為企業(yè)發(fā)展的動(dòng)力,在科技創(chuàng)新的道路上不斷前行。

2011年到2015年,飛貸做的是傳統(tǒng)的小微金融業(yè)務(wù)。2015年,我們決定進(jìn)行線上互聯(lián)網(wǎng)化轉(zhuǎn)型。到2017年,我們整個(gè)公司進(jìn)行了戰(zhàn)略升級(jí),為金融行業(yè)客戶提供互聯(lián)網(wǎng)服務(wù)。迄今為止,飛貸為人保、北京銀行、華潤(rùn)信托、通聯(lián)支付等多家金融行業(yè)企業(yè)提供了全鏈路的科技服務(wù)。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

2018年,我們登上了美國(guó)《時(shí)代周刊》,被《時(shí)代周刊》稱為“全球金融科技最佳實(shí)踐”。同年,我們還拿到了世界銀行和G20共同推出的首屆全球小微金融獎(jiǎng)最高榮譽(yù)——“年度產(chǎn)品創(chuàng)新”鉑金獎(jiǎng)。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

接下來(lái),我會(huì)和大家詳細(xì)介紹一下,飛貸作為一家互聯(lián)網(wǎng)金融科技企業(yè),是怎樣和容器化相結(jié)合,又是怎么在業(yè)務(wù)上應(yīng)用容器化的。

飛貸應(yīng)用容器化與前面分享的企業(yè)一致,同樣也是基于整個(gè)企業(yè)的容器化應(yīng)用。值得一提的是,飛貸做的是金融領(lǐng)域,所以我們對(duì)安全、對(duì)容錯(cuò)、對(duì)高恢復(fù)的部分相較于其他行業(yè)的企業(yè)而言更加在意。我們關(guān)注的不僅僅是應(yīng)用,更多的會(huì)關(guān)注到如何迅速地進(jìn)行災(zāi)難的恢復(fù)。

我們利用容器進(jìn)行了整體的架構(gòu)部署,從大家比較熟悉的DevOps,到我稍后會(huì)重點(diǎn)介紹的DB Mesh的部分。我們劃分了幾大平臺(tái),包括容器化平臺(tái)、產(chǎn)品研發(fā)平臺(tái)和數(shù)據(jù)平臺(tái)。下面的是應(yīng)用安全、數(shù)據(jù)安全、網(wǎng)絡(luò)安全、容器安全、運(yùn)維安全等部分。容器對(duì)我們而言幫助非常大,現(xiàn)在我們的RD都是基于容器Kubernetes做應(yīng)用開發(fā)。在這一部分,飛貸在金融領(lǐng)域已經(jīng)達(dá)到了領(lǐng)先的水平。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

下圖是飛貸的容器發(fā)展路線圖。我們從2015年開始研究容器,2016年開始投產(chǎn)在RD環(huán)境上。在當(dāng)時(shí)我們還沒能完全選定Kubernetes還是另外一個(gè)容器技術(shù),所以暫時(shí)停留在RD階段。2017年,Kubernetes技術(shù)越來(lái)越成熟、越來(lái)越穩(wěn)定,我們就把整體的方向往Kubernetes方向進(jìn)行遷移。到了今年,我們的生產(chǎn)環(huán)境已經(jīng)可以大量運(yùn)用容器技術(shù)進(jìn)行多個(gè)方向上的應(yīng)用了。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

剛才Rancher的CEO梁勝博士提到,現(xiàn)在Rancher已經(jīng)可以做到多K8S集群管理和部署,多數(shù)據(jù)中心。這是和我們的業(yè)務(wù)發(fā)展比較貼合的。我們提供基于飛貸的金融云服務(wù),同時(shí)我們有多租戶集群管理的業(yè)務(wù)需求。目前,我們已經(jīng)可以針對(duì)K8S多集群進(jìn)行應(yīng)用服務(wù)、中心服務(wù)、數(shù)據(jù)庫(kù)服務(wù)等多個(gè)方向的多集群管理,同樣,我們也可以做到多租戶網(wǎng)絡(luò)隔離。

從客戶的角度來(lái)說(shuō),在客戶和我們合作之前或者是過(guò)程當(dāng)中,他們先前可能并不了解小貸的業(yè)務(wù)運(yùn)營(yíng)是這樣的,所以銀行會(huì)把他們的整體服務(wù)放在我們公司,飛貸就變成了一家金融云廠商。而飛貸的特殊之處就在于,我們專注于和我們業(yè)務(wù)發(fā)展相關(guān)的內(nèi)容,我們?yōu)榭蛻籼峁┑牟皇且粋€(gè)整體的平臺(tái),而是應(yīng)用。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

剛才提到的所有內(nèi)容都是和容器息息相關(guān)的,容器的特性包括安全審計(jì)、動(dòng)態(tài)存儲(chǔ)、高可用灰度發(fā)布等等,我們把容器的特性應(yīng)用到了飛貸生產(chǎn)環(huán)境上,并且發(fā)揮到了極致。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

下圖是飛貸容器化的平臺(tái)組件。無(wú)論是我們的RD還是外面的人員,飛貸會(huì)為他們提供應(yīng)用商店,他們要做什么事情,就在我們的管理平臺(tái)點(diǎn)擊一下,我們會(huì)自動(dòng)生產(chǎn)一個(gè)容器的應(yīng)用幫他們進(jìn)行處理。我們鏡像倉(cāng)庫(kù)的部分是在一起的。

除了這幾個(gè)部分,我們還有Prometheus和Jenkins,這些體系和我們研發(fā)的相關(guān)度比較高,現(xiàn)在飛貸能實(shí)現(xiàn)自動(dòng)集成、自動(dòng)打包、自動(dòng)發(fā)布和自動(dòng)部署,這是我們研究了兩年多的平臺(tái)組件成果。

飛貸為什么要讓DB容器化?因?yàn)槲⒎?wù)部分的應(yīng)用層已經(jīng)發(fā)展得比較好了,但是對(duì)于DB而言還有很多的問(wèn)題。假如DB宕機(jī)了,我想要迅速恢復(fù)這個(gè)DB,讓業(yè)務(wù)生產(chǎn)能夠正常運(yùn)行,我們需要花費(fèi)多長(zhǎng)的時(shí)間呢?如果DB非常大,這個(gè)啟動(dòng)時(shí)間是非常久的。這就是為什么銀行或者是大型金融機(jī)構(gòu)沒有小型機(jī),不敢用開源的MySQL或者是MangoDB等資料庫(kù),因?yàn)樗麄円WC安全和持續(xù)運(yùn)作,這是一個(gè)比較大的挑戰(zhàn)。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

這就是我今天要重點(diǎn)講述的幾個(gè)問(wèn)題,為什么要MySQL容器化?MySQL容器化安全穩(wěn)定嗎?容器化MySQL的具體實(shí)現(xiàn)是樣的?

我們剛才介紹了飛貸要做多集群管理的容器,里面存在一些限制以及要求。第一,會(huì)涉及非常復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu);第二,故障要頻繁地切換,我們認(rèn)為這在金融行業(yè)是非常重要的一個(gè)部分,因?yàn)橐坏┌l(fā)生故障,金融行業(yè)的業(yè)務(wù)基本上就會(huì)停擺了;第三,要控制容量大??;第四則是要依賴網(wǎng)絡(luò)存儲(chǔ)。

我們之所以要做這個(gè)部分,有三個(gè)方面的原因。第一,我們需要實(shí)現(xiàn)標(biāo)準(zhǔn)化快速部署,因?yàn)閼?yīng)用快速部署完之后,如果DB部署很慢的話,對(duì)于我們而言,整體效率還是一樣地低,這是站在整體效率的部分而言的;第二就是微服務(wù)場(chǎng)景,我們現(xiàn)在的系統(tǒng)已經(jīng)是全部為服務(wù)化進(jìn)行終端的調(diào)整,在這種場(chǎng)景下,如果數(shù)據(jù)場(chǎng)景不能微服務(wù)化,那我上層所做的內(nèi)容毫無(wú)意義,我們不希望數(shù)據(jù)庫(kù)成為業(yè)務(wù)彈性伸縮以及管理的短板;第三就是MySQL服務(wù)化、自動(dòng)化、網(wǎng)絡(luò)化和智能化的需求。

?

我們進(jìn)行MySQL容器化的效果很明顯。第一,我們可以實(shí)現(xiàn)高效彈性伸縮、擴(kuò)容、備份、導(dǎo)入、導(dǎo)出、恢復(fù)、快照、遷移;第二,我們可以實(shí)現(xiàn)整體數(shù)據(jù)庫(kù)的性能監(jiān)控和審計(jì);第三,分布式存儲(chǔ)、資源、數(shù)據(jù)多副本可以實(shí)現(xiàn)實(shí)時(shí)同步。我們?cè)诖髷?shù)據(jù)應(yīng)用的部分可能和一般的公司也有所區(qū)別,我們生產(chǎn)環(huán)境的一些數(shù)據(jù)和大數(shù)據(jù)實(shí)時(shí)數(shù)據(jù)是拆分開的,但我們做到了實(shí)時(shí)同步;第四就是計(jì)算資源分布式,多節(jié)點(diǎn),技術(shù)設(shè)施高可用;第五是擁有故障自愈的功能。我的MySQL如果宕機(jī),我們可以迅速恢復(fù)。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

下圖是我們MySQL DB的架構(gòu),底下的應(yīng)用服務(wù)對(duì)應(yīng)的是中間件,我們所有的中間件對(duì)應(yīng)每一個(gè)單獨(dú)的庫(kù)。我們?yōu)榱藢?shí)現(xiàn)DB容器,把庫(kù)做到了非常大的空間壓縮,并且把庫(kù)進(jìn)行了容量限制,這樣才有可能在庫(kù)故障的時(shí)候,可以迅速的啟動(dòng)它。這部分考驗(yàn)了我們整體的業(yè)務(wù)運(yùn)作部分,數(shù)據(jù)分表分庫(kù)的能力、讀寫分離的能力。而這部分都是通過(guò)我們自行研發(fā)的中間件完成的。如果沒有我們自行研發(fā)的中間件,DB Mesh這部分內(nèi)容是我們也無(wú)法完成的。

?

以上基本就是飛貸DB的網(wǎng)絡(luò)發(fā)散圖,架構(gòu)特征包括幾個(gè)部分,一是高并發(fā)、低延遲,每秒10000事務(wù)處理,延遲小于100毫秒;二是支持IDC多活;三是支持?jǐn)?shù)據(jù)路由;四是可以自動(dòng)化或者人格化決策切換;五是數(shù)據(jù)多副本。

截至目前,飛貸的DB量級(jí)是PB級(jí)別的,我們大概是十幾個(gè)PB這種應(yīng)用數(shù)量,可對(duì)外同步實(shí)施,故障容器數(shù)目大于二分之一可以自動(dòng)回復(fù),這就是為什么我們要做DB Mesh的原因。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

另一部分是關(guān)于我們?nèi)萜骰螴stio的,右邊是我們生產(chǎn)應(yīng)用的圖形界面,可以看到注冊(cè)進(jìn)去之后,我們就可以進(jìn)行自動(dòng)追蹤,了解庫(kù)的健康程度。但是里面還有一些小問(wèn)題,當(dāng)DB斷掉再恢復(fù)之后,這個(gè)服務(wù)就不見了,需要再次手工注入。關(guān)于這個(gè)問(wèn)題,我們研究了Istio的很多文檔,但還沒有克服這一問(wèn)題。所以在DB這一部分,我們只做到在生產(chǎn)的時(shí)候,一開始可以注入,但是當(dāng)它掛掉之后,我們還是需要手工處理,暫時(shí)沒有辦法自動(dòng)恢復(fù)。

而在應(yīng)用和管理服務(wù)的部分,我們已經(jīng)做到了完全自動(dòng)化,整合Istio實(shí)現(xiàn)微服務(wù)Service Mesh,實(shí)現(xiàn)了微服務(wù)訪問(wèn)、安全加固、控制、觀察。服務(wù)追蹤、限速、熔斷、調(diào)度、負(fù)載等部分。

以上是飛貸整體服務(wù)的應(yīng)用部署,從應(yīng)用服務(wù)到中間件,這是我們整體部署的發(fā)布圖,所以現(xiàn)在我們的RD人員基本上只負(fù)責(zé)開發(fā),開發(fā)之后,所有一切都通過(guò)我們的平臺(tái)去進(jìn)行集成、發(fā)布和管理,上了生產(chǎn)環(huán)境之后,也會(huì)由我們的運(yùn)維來(lái)處理,不會(huì)由RD來(lái)處理。在這一點(diǎn)上,我們做的還比較符合銀行的要求。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐

最后,我想介紹一下飛貸容器化帶來(lái)的成果:

第一是提升飛貸整體生產(chǎn)力。飛貸80%的基礎(chǔ)運(yùn)維都是自動(dòng)化的;其次,交付能力也有所提升,一小時(shí)我們可以交付上百套的服務(wù)應(yīng)用,目前來(lái)說(shuō)有上千臺(tái)容器在我們整個(gè)生產(chǎn)環(huán)境上面運(yùn)作,如果我們沒有進(jìn)行微服務(wù)容器化的話,微服務(wù)架構(gòu)部署時(shí)間會(huì)非常長(zhǎng);最后一個(gè)是我們具備生產(chǎn)環(huán)境上數(shù)百個(gè)MySQL的實(shí)例,這也是我們的一個(gè)容器化成果;

第二就是研發(fā)和擴(kuò)展,可以按照容器的pod、物理主機(jī)節(jié)點(diǎn)、機(jī)柜及數(shù)據(jù)中心級(jí)別做擴(kuò)展,這塊我們也結(jié)合了很多CMDB的內(nèi)容,但在這里就不詳表了;

第三是IT成本的投入,這也是我們企業(yè)比較關(guān)注的一個(gè)內(nèi)容,我們之前的私有云是用CloudStack作為平臺(tái)去搭建的,現(xiàn)在我們?nèi)繐Q成了容器。這大約節(jié)約了我們40%的資源,節(jié)省了60%的人力投入。以前我們要部署一個(gè)應(yīng)用還需要提供虛擬主機(jī)在RD上面部署,現(xiàn)在容器一鍵部署就可以完成了。另外項(xiàng)目研發(fā)投入時(shí)間也節(jié)省了40%,因?yàn)椴渴饝?yīng)用之類的內(nèi)容現(xiàn)在已經(jīng)不需要RD人員來(lái)處理了,都是由我們平臺(tái)自動(dòng)化處理的;

第四是安全、敏捷、高效,這部分業(yè)余數(shù)據(jù)的全量備份我們也是分鐘級(jí)的,我們的庫(kù)縮得足夠小,所以我們可以在幾分鐘內(nèi)迅速備份;第二在容災(zāi)故障的時(shí)候,我們的業(yè)務(wù)運(yùn)用一鍵恢復(fù)也是分鐘級(jí)的,數(shù)據(jù)快照是秒級(jí)的,資源利用率提升10倍,數(shù)據(jù)庫(kù)交付能力提升近百倍,我們整個(gè)應(yīng)用有上百個(gè)MySQL節(jié)點(diǎn),如果一個(gè)個(gè)部署非常慢,我們現(xiàn)在已經(jīng)把鏡像做起來(lái)了,所以部署是非常迅速的;

最后一點(diǎn)是運(yùn)維變得非常簡(jiǎn)單,自動(dòng)化、極致的、彈性容器的調(diào)度,灰度發(fā)布、預(yù)發(fā)布、藍(lán)綠部署、持續(xù)交付。

10倍DB交付效率,飛貸金融科技的數(shù)據(jù)庫(kù)生產(chǎn)容器化實(shí)踐



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI