中生代技術(shù)群分享第三十二期 講師:王天青 編輯:友強(qiáng) 摘要: 征信是互聯(lián)網(wǎng)金融的核心系統(tǒng)之一,在單體應(yīng)用到服務(wù)化改造中,我們定義了API Gateway,Scheduler Service,Data Processing Service,Cache Service和Worker Service等服務(wù),并實(shí)現(xiàn)了對(duì)基于Docker的微服務(wù)化。本期技術(shù)分享就帶你走進(jìn)互聯(lián)網(wǎng)金融征信項(xiàng)目的微服務(wù)化之旅。 王天青: 麻袋理財(cái)首席架構(gòu)師 分享內(nèi)容: 麻袋理財(cái)基于Docker的容器實(shí)踐 講師簡(jiǎn)介:曾就職于EMC中國(guó)研究院,對(duì)OpenStack,CloudFoundry及Docker有很深的研究,2015年加入麻袋理財(cái),負(fù)責(zé)整個(gè)基礎(chǔ)架構(gòu)的演進(jìn) 內(nèi)容簡(jiǎn)介:征信是互聯(lián)網(wǎng)金融的核心系統(tǒng)之一,在單體應(yīng)用到微服務(wù)改造中,我們定義了API Gateway, Scheduler Service, Data Processing Service, Cache Service和Worker Service等服務(wù), 并實(shí)現(xiàn)了基于Docker的微服務(wù)化 FinTech第一期: 麻袋理財(cái)基于Docker的容器實(shí)踐 本次分享的主題是《麻袋理財(cái)基于Docker的容器實(shí)踐》—— 征信要做的事情就是從內(nèi)部外部獲取數(shù)據(jù),以此對(duì)用戶的還款意愿進(jìn)行甄別。 現(xiàn)在市場(chǎng)上也有很多第三方的征信公司,每家征信公司的數(shù)據(jù)來源各不相同,比如有些來自通信運(yùn)營(yíng)商,所以我們需要對(duì)接很多第三方的公司,而且各家公司的IT技術(shù)能力層次不齊,提供的接口也各不相同。 痛點(diǎn):
改造之前是一個(gè)典型的單體應(yīng)用。 改造過程中,我們希望把和第三方交互的模塊抽取出來以便于單獨(dú)擴(kuò)展,提供APIGateway,對(duì)外提供統(tǒng)一的接口。 在方法與流程上,我們希望用自動(dòng)的CI和CD,提高部署效率。從運(yùn)維的角度來看,希望能夠有更好的監(jiān)控,及時(shí)發(fā)現(xiàn)問題,解決問題。 我們遵循12 Factor App的原則,服務(wù)拆分的時(shí)候,使用單一職責(zé)。代碼和配置進(jìn)行分離,這樣Dev/Test/Prod環(huán)境可以用同一套代碼加不同配置。 這是改造結(jié)果,后面我會(huì)一一敘述。 后面講一下Docker的一些細(xì)節(jié): 我們有使用一些基礎(chǔ)鏡像,包含一些基礎(chǔ)的組件。 我們的系統(tǒng)大部分使用Java開發(fā),因此有Maven的基礎(chǔ)構(gòu)建鏡像,JDK鏡像等。 鏡像倉(cāng)庫(kù)用的是VMware中國(guó)團(tuán)隊(duì)開發(fā)的Harbor,也是一個(gè)開源項(xiàng)目。 存儲(chǔ)是一個(gè)高級(jí)話題,也包括如何優(yōu)化Docker file,減少layer。 這是幾種存儲(chǔ)驅(qū)動(dòng)的比較。 代碼倉(cāng)庫(kù)我們目前用gitlab,遵循git-flow。目前每個(gè)項(xiàng)目有三個(gè)分支:dev,uat和master。每次代碼提交都會(huì)觸發(fā)Maven build和test,跑一些自動(dòng)化測(cè)試腳本,結(jié)果會(huì)反饋到gitlab上。CI跑完之后,通過mergerequest的方式合并到uat分支,然后由測(cè)試和業(yè)務(wù)同事進(jìn)行驗(yàn)證。測(cè)試完成后再通過merge request合并到master分支,然后進(jìn)行產(chǎn)線部署,一般走灰度發(fā)布的流程。所有發(fā)布的流程都是用Jenkins實(shí)現(xiàn) 我們會(huì)使用Docker compose來部署一組相關(guān)服務(wù),參數(shù)通過不同文件來指定。 集群管理使用Swarm+Shipyard。 日志監(jiān)控用ELK,還有就是用filebeat把日志同步到某個(gè)目錄,方便開發(fā)排錯(cuò)。 目前 Docker監(jiān)控 以cAdvisor為主。 這是最后的部署架構(gòu)圖。 總結(jié) 1)每個(gè)worker和一個(gè)第三方渠道打交道; 2)每個(gè)可以獨(dú)立跑的項(xiàng)目用Docker進(jìn)行封裝; 3)用gitlab+Jenkins+Docker實(shí)現(xiàn)自動(dòng)化CI/CD Q A & Q1:王老師,請(qǐng)問你們?nèi)绾谓鉀Q合并分支時(shí)代碼沖突的問題呢?尤其在涉及到多個(gè)feature分支以及個(gè)人分支的情況下。另外經(jīng)常也會(huì)有已合并到dev分支上的feature需要撤銷,這個(gè)怎么處理會(huì)比較好呢? A1:代碼沖突只能人工解決,另外一個(gè)微服務(wù)化的優(yōu)勢(shì)是,不同功能會(huì)放在不同項(xiàng)目中。 Q2:目前麻袋整合了多少外部征信數(shù)據(jù),后期的征信數(shù)據(jù)再加工和標(biāo)準(zhǔn)化做到什么程度了? A2:我們正在梳理自己的征信領(lǐng)域模型。 Q3:征信信息是實(shí)時(shí)查詢嗎? A3:大部分是,但是有部分?jǐn)?shù)據(jù)第三方提供的是異步接口;另外一個(gè)問題是第三方的IT水平也一般,不能保證7*24小時(shí)可用,再加上網(wǎng)絡(luò)的問題,也會(huì)經(jīng)常超時(shí),所以要做好保護(hù)。 Q4:調(diào)用外部征信渠道是一個(gè)微服務(wù)?還是按渠道分成不同的微服務(wù)? A4:按渠道拆分為不同的服務(wù),可以根據(jù)第三方的能力動(dòng)態(tài)部署多個(gè)instance。 Q5:Docker打通了三層網(wǎng)絡(luò)? A5:我們現(xiàn)在沒有用overlaynetwork,因?yàn)椴恍枰龈綦x。 Q6:?jiǎn)误w到容器微服務(wù)化,相同研發(fā)人員產(chǎn)能究竟提升了多少,有無度量數(shù)據(jù)? A6:首先是模塊化能夠帶來很多好處,當(dāng)然系統(tǒng)的復(fù)雜性也會(huì)增加,所以要先根據(jù)業(yè)務(wù)場(chǎng)景進(jìn)行分析。數(shù)據(jù)沒有度量。 Q7:不同征信渠道作為一個(gè)worker單獨(dú)部署,渠道多的時(shí)候,起很多Docker也是很占資源,做成一個(gè)微服務(wù),并發(fā)去掉用呢? A7:Docker占用資源還好了,主要是訪問第三方需要不同線程池,不讓對(duì)方響應(yīng)比較慢,會(huì)把線程都占用掉。 Q8:對(duì)這種大額低頻的應(yīng)用上Docker的意義在哪?主要是部署和運(yùn)維層面? A8:征信是一個(gè)高頻應(yīng)用(因?yàn)閷徟枰{(diào)用),也會(huì)不斷接入新的第三方渠道,所以這樣拆分之后,就可以做到不停機(jī)加渠道及升級(jí)不同渠道。 Q9:關(guān)于問題四,接著請(qǐng)教[抱拳]理財(cái)和分期不同于秒殺場(chǎng)景,需要先注冊(cè),然后提訂單,通常在同一時(shí)間并發(fā)應(yīng)該沒那么高,按渠道做那么多Docker實(shí)例必要性? A9:這里拆分的原因還是因?yàn)橐獙?duì)接不同第三方渠道,第三方渠道提供不同接口,我們希望能夠用一個(gè)模型來進(jìn)行屏蔽這種差異性。 FinTech互聯(lián)網(wǎng)金融科技專題 王天青, 麻袋理財(cái)首席架構(gòu)師 分享內(nèi)容: 征信系統(tǒng)的服務(wù)化,容器化 講師簡(jiǎn)介:曾就職于EMC中國(guó)研究院,對(duì)OpenStack,CloudFoundry及Docker有很深的研究,2015年加入麻袋理財(cái),負(fù)責(zé)整個(gè)基礎(chǔ)架構(gòu)的演進(jìn) 內(nèi)容簡(jiǎn)介:征信是互聯(lián)網(wǎng)金融的核心系統(tǒng)之一,在單體應(yīng)用到微服務(wù)改造中,我們定義了API Gateway, Scheduler Service, Data Processing Service, Cache Service和Worker Service等服務(wù), 并實(shí)現(xiàn)了基于Docker的微服務(wù)化 FinTech第一期: 麻袋理財(cái)基于Docker的容器實(shí)踐 張亮, 數(shù)人科技-解決方案總監(jiān) 分享內(nèi)容: 打造服務(wù)傳統(tǒng)金融平臺(tái) 講師簡(jiǎn)介: IT從業(yè)經(jīng)驗(yàn)14年以上,先后從事開發(fā)、架構(gòu)、項(xiàng)目管理、。技術(shù)管理等崗位,曾就職于IBM,在大型企業(yè)數(shù)據(jù)中心運(yùn)維方面,積累了超過10年的架構(gòu)和規(guī)劃管理經(jīng)驗(yàn),先后為五大行、農(nóng)商行等金融機(jī)構(gòu)提供數(shù)據(jù)中心運(yùn)維管理規(guī)劃和管理平臺(tái)落地咨詢及實(shí)施服務(wù)。熱愛開源技術(shù),現(xiàn)專注于openstack、docker、cloudify、apache kylin等開源方案在傳統(tǒng)企業(yè)的落地。 內(nèi)容簡(jiǎn)介:論述傳統(tǒng)金融行業(yè)架構(gòu)的治理和管理實(shí)踐、包括方法論框架、標(biāo)準(zhǔn)建設(shè)、技術(shù)架構(gòu)。同時(shí)結(jié)合目前雙模IT的趨勢(shì),談一下當(dāng)前形勢(shì)下如何構(gòu)建新的企業(yè)架構(gòu)。 李偉山, 江蘇大圓銀泰技術(shù)總監(jiān) 分享內(nèi)容: 撮合系統(tǒng)設(shè)計(jì) 講師簡(jiǎn)介:畢業(yè)于國(guó)防信息大學(xué),曾就職于華為、阿里巴巴,目前任江蘇大圓銀泰技術(shù)總監(jiān),曾主導(dǎo)設(shè)計(jì)淘寶虛擬團(tuán)隊(duì)的秒殺系統(tǒng),對(duì)高并發(fā)、大數(shù)據(jù)架構(gòu)設(shè)計(jì)有深刻的了解 ![]() 敖小劍, PPMoney資深架構(gòu)師 分享內(nèi)容: PPMoney微服務(wù)之路 講師簡(jiǎn)介:敖小劍,資深Java架構(gòu)師,14年軟件開發(fā)經(jīng)驗(yàn),對(duì)敏捷開發(fā),架構(gòu)設(shè)計(jì)有深入研究,曾在亞信,愛立信,唯品會(huì)任職?,F(xiàn)任ppmoney基礎(chǔ)架構(gòu)負(fù)責(zé)人,負(fù)責(zé)Dolphin微服務(wù)架構(gòu)和配套基礎(chǔ)設(shè)施的開發(fā),推進(jìn)公司全面服務(wù)化。 馮磊, 銀魅財(cái)富CTO 分享內(nèi)容: 互聯(lián)網(wǎng)安全的“土”辦法 講師簡(jiǎn)介:北京航空航天大學(xué)碩士,12年軟件行業(yè)經(jīng)驗(yàn),先后就職于北大方正集團(tuán),中國(guó)國(guó)際金融有限公司,甲骨文等國(guó)內(nèi)外知名企業(yè),對(duì)軟件工程、數(shù)據(jù)庫(kù)、互聯(lián)網(wǎng)高并發(fā)有深入研究和多年實(shí)踐經(jīng)驗(yàn) 王輝, 蘑菇街資深開發(fā)工程師 分享內(nèi)容: 蘑菇街消費(fèi)信貸產(chǎn)品“買唄”如何提升支付的性能 講師簡(jiǎn)介:蘑菇街資深開發(fā)工程,支付金融事業(yè)部初創(chuàng)技術(shù)員工之一,經(jīng)歷金融產(chǎn)品技術(shù)從無到有的整個(gè)過程,參與過多個(gè)金融產(chǎn)品的重要項(xiàng)目,包括消費(fèi)信貸產(chǎn)品“買唄”、理財(cái)寶、商家貸款等產(chǎn)品,以及第一版的支付賬務(wù)可單元化優(yōu)化等,主要技術(shù)方向是研究適合互聯(lián)網(wǎng)金融應(yīng)用的技術(shù)架構(gòu)與大規(guī)模應(yīng)用實(shí)踐。 內(nèi)容簡(jiǎn)介: 1個(gè)月的開發(fā)時(shí)間,“買唄”經(jīng)歷了從0到1的過程,再用3個(gè)月的時(shí)間發(fā)展到可以支撐2000筆/秒的支付量 樊雙貴, 點(diǎn)融網(wǎng)DBA 分享內(nèi)容: 典型互金系技術(shù)架構(gòu)解析 講師簡(jiǎn)介:曾就職于NCS集團(tuán)、港澳資訊。先后做過開發(fā)、數(shù)據(jù)庫(kù)建設(shè),技術(shù)經(jīng)理等工作。多年來一直從事證券、基金、銀行、保險(xiǎn)、互聯(lián)網(wǎng)互聯(lián)網(wǎng)金融等機(jī)構(gòu)的IT系統(tǒng)的建設(shè)與運(yùn)維服務(wù),對(duì)IT系統(tǒng)建設(shè)和架構(gòu)方案有深刻的理解和實(shí)踐,目前主要專注于企業(yè)數(shù)字化轉(zhuǎn)型等領(lǐng)域的方案設(shè)計(jì)和研究。2014年加入點(diǎn)融王,任資深應(yīng)用級(jí)DBA。 |
|