1. 程式人生 > >10倍DB交付效率,飛貸金融科技的資料庫生產容器化實踐

10倍DB交付效率,飛貸金融科技的資料庫生產容器化實踐

2019年6月20日,由Rancher Labs(以下簡稱Rancher)主辦的第三屆企業容器創新大會(Enterprise Container Innovation Conference, 以下簡稱ECIC)在北京喜來登大酒店盛大舉行。本屆ECIC規模巨集大,全天共設定了17場主題演講,吸引了近千名容器技術愛好者參加,超過10000名觀眾在線上直播平臺觀看了本次盛會。

來自Rancher、阿里雲、百度雲、平安科技、中國聯通、飛貸金融科技、中國人壽、SmartX、華泰保險、廈門航空、JFrog、新東方、Cisco等十多家企業的技術負責人出席了本屆ECIC,現場帶來關於企業容器專案實踐經驗的精彩分享,為參會的容器技術愛好者帶來企業容器化的經驗分享。

飛貸金融科技副總裁陳定瑋

大會現場,飛貸金融科技作為金融行業資料庫容器化的典型案例,為現場的容器愛好者帶來了題為《金融領域資料庫生產容器化及Istio應用》的實踐經驗分享。

對於飛貸金融科技而言,生產容器化及資料庫應用的難點在於,如何針對金融領域生產容器化及資料庫容器應用進行實踐創新,如何結合研發及業務場景落地,提升資源利用效率、提升產品研發、運維管理效率。

飛貸金融科技副總裁陳定瑋表示:“金融行業資料具有相較於其他行業更為嚴格的安全高標準,在安全合規的情況下用飛貸自研中介軟體,解決金融領域DB應用場景難題,帶來10x的DB交付效率,極致的彈性擴容能力。”

演講實錄

飛貸金融科技成立於2010年,是移動信貸整體技術服務商。我們以科技創新作為企業發展的動力,在科技創新的道路上不斷前行。

2011年到2015年,飛貸做的是傳統的小微金融業務。2015年,我們決定進行線上網際網路化轉型。到2017年,我們整個公司進行了戰略升級,為金融行業客戶提供網際網路服務。迄今為止,飛貸為人保、北京銀行、華潤信託、通聯支付等多家金融行業企業提供了全鏈路的科技服務。

2018年,我們登上了美國《時代週刊》,被《時代週刊》稱為“全球金融科技最佳實踐”。同年,我們還拿到了世界銀行和G20共同推出的首屆全球小微金融獎最高榮譽——“年度產品創新”鉑金獎。

接下來,我會和大家詳細介紹一下,飛貸作為一家網際網路金融科技企業,是怎樣和容器化相結合,又是怎麼在業務上應用容器化的。

飛貸應用容器化與前面分享的企業一致,同樣也是基於整個企業的容器化應用。值得一提的是,飛貸做的是金融領域,所以我們對安全、對容錯、對高恢復的部分相較於其他行業的企業而言更加在意。我們關注的不僅僅是應用,更多的會關注到如何迅速地進行災難的恢復。

我們利用容器進行了整體的架構部署,從大家比較熟悉的DevOps,到我稍後會重點介紹的DB Mesh的部分。我們劃分了幾大平臺,包括容器化平臺、產品研發平臺和資料平臺。下面的是應用安全、資料安全、網路安全、容器安全、運維安全等部分。容器對我們而言幫助非常大,現在我們的RD都是基於容器Kubernetes做應用開發。在這一部分,飛貸在金融領域已經達到了領先的水平。

下圖是飛貸的容器發展路線圖。我們從2015年開始研究容器,2016年開始投產在RD環境上。在當時我們還沒能完全選定Kubernetes還是另外一個容器技術,所以暫時停留在RD階段。2017年,Kubernetes技術越來越成熟、越來越穩定,我們就把整體的方向往Kubernetes方向進行遷移。到了今年,我們的生產環境已經可以大量運用容器技術進行多個方向上的應用了。

剛才Rancher的CEO樑勝博士提到,現在Rancher已經可以做到多K8S叢集管理和部署,多資料中心。這是和我們的業務發展比較貼合的。我們提供基於飛貸的金融雲服務,同時我們有多租戶叢集管理的業務需求。目前,我們已經可以針對K8S多叢集進行應用服務、中心服務、資料庫服務等多個方向的多叢集管理,同樣,我們也可以做到多租戶網路隔離。

從客戶的角度來說,在客戶和我們合作之前或者是過程當中,他們先前可能並不瞭解小貸的業務運營是這樣的,所以銀行會把他們的整體服務放在我們公司,飛貸就變成了一家金融雲廠商。而飛貸的特殊之處就在於,我們專注於和我們業務發展相關的內容,我們為客戶提供的不是一個整體的平臺,而是應用。

剛才提到的所有內容都是和容器息息相關的,容器的特性包括安全審計、動態儲存、高可用灰度釋出等等,我們把容器的特性應用到了飛貸生產環境上,並且發揮到了極致。

下圖是飛貸容器化的平臺元件。無論是我們的RD還是外面的人員,飛貸會為他們提供應用商店,他們要做什麼事情,就在我們的管理平臺點選一下,我們會自動生產一個容器的應用幫他們進行處理。我們映象倉庫的部分是在一起的。

除了這幾個部分,我們還有Prometheus和Jenkins,這些體系和我們研發的相關度比較高,現在飛貸能實現自動整合、自動打包、自動釋出和自動部署,這是我們研究了兩年多的平臺元件成果。

飛貸為什麼要讓DB容器化?因為微服務部分的應用層已經發展得比較好了,但是對於DB而言還有很多的問題。假如DB宕機了,我想要迅速恢復這個DB,讓業務生產能夠正常執行,我們需要花費多長的時間呢?如果DB非常大,這個啟動時間是非常久的。這就是為什麼銀行或者是大型金融機構沒有小型機,不敢用開源的MySQL或者是MangoDB等資料庫,因為他們要保證安全和持續運作,這是一個比較大的挑戰。

這就是我今天要重點講述的幾個問題,為什麼要MySQL容器化?MySQL容器化安全穩定嗎?容器化MySQL的具體實現是樣的?

我們剛才介紹了飛貸要做多叢集管理的容器,裡面存在一些限制以及要求。第一,會涉及非常複雜的網路結構;第二,故障要頻繁地切換,我們認為這在金融行業是非常重要的一個部分,因為一旦發生故障,金融行業的業務基本上就會停擺了;第三,要控制容量大小;第四則是要依賴網路儲存。

我們之所以要做這個部分,有三個方面的原因。第一,我們需要實現標準化快速部署,因為應用快速部署完之後,如果DB部署很慢的話,對於我們而言,整體效率還是一樣地低,這是站在整體效率的部分而言的;第二就是微服務場景,我們現在的系統已經是全部為服務化進行終端的調整,在這種場景下,如果資料場景不能微服務化,那我上層所做的內容毫無意義,我們不希望資料庫成為業務彈性伸縮以及管理的短板;第三就是MySQL服務化、自動化、網路化和智慧化的需求。

我們進行MySQL容器化的效果很明顯。第一,我們可以實現高效彈性伸縮、擴容、備份、匯入、匯出、恢復、快照、遷移;第二,我們可以實現整體資料庫的效能監控和審計;第三,分散式儲存、資源、資料多副本可以實現實時同步。我們在大資料應用的部分可能和一般的公司也有所區別,我們生產環境的一些資料和大資料實時資料是拆分開的,但我們做到了實時同步;第四就是計算資源分散式,多節點,技術設施高可用;第五是擁有故障自愈的功能。我的MySQL如果宕機,我們可以迅速恢復。

下圖是我們MySQL DB的架構,底下的應用服務對應的是中介軟體,我們所有的中介軟體對應每一個單獨的庫。我們為了實現DB容器,把庫做到了非常大的空間壓縮,並且把庫進行了容量限制,這樣才有可能在庫故障的時候,可以迅速的啟動它。這部分考驗了我們整體的業務運作部分,資料分表分庫的能力、讀寫分離的能力。而這部分都是通過我們自行研發的中介軟體完成的。如果沒有我們自行研發的中介軟體,DB Mesh這部分內容是我們也無法完成的。

以上基本就是飛貸DB的網路發散圖,架構特徵包括幾個部分,一是高併發、低延遲,每秒10000事務處理,延遲小於100毫秒;二是支援IDC多活;三是支援資料路由;四是可以自動化或者人格化決策切換;五是資料多副本。

截至目前,飛貸的DB量級是PB級別的,我們大概是十幾個PB這種應用數量,可對外同步實施,故障容器數目大於二分之一可以自動回覆,這就是為什麼我們要做DB Mesh的原因。

另一部分是關於我們容器化整合Istio的,右邊是我們生產應用的圖形介面,可以看到註冊進去之後,我們就可以進行自動追蹤,瞭解庫的健康程度。但是裡面還有一些小問題,當DB斷掉再恢復之後,這個服務就不見了,需要再次手工注入。關於這個問題,我們研究了Istio的很多文件,但還沒有克服這一問題。所以在DB這一部分,我們只做到在生產的時候,一開始可以注入,但是當它掛掉之後,我們還是需要手工處理,暫時沒有辦法自動恢復。

而在應用和管理服務的部分,我們已經做到了完全自動化,整合Istio實現微服務Service Mesh,實現了微服務訪問、安全加固、控制、觀察。服務追蹤、限速、熔斷、排程、負載等部分。

以上是飛貸整體服務的應用部署,從應用服務到中介軟體,這是我們整體部署的釋出圖,所以現在我們的RD人員基本上只負責開發,開發之後,所有一切都通過我們的平臺去進行整合、釋出和管理,上了生產環境之後,也會由我們的運維來處理,不會由RD來處理。在這一點上,我們做的還比較符合銀行的要求。

最後,我想介紹一下飛貸容器化帶來的成果:

第一是提升飛貸整體生產力。飛貸80%的基礎運維都是自動化的;其次,交付能力也有所提升,一小時我們可以交付上百套的服務應用,目前來說有上千臺容器在我們整個生產環境上面運作,如果我們沒有進行微服務容器化的話,微服務架構部署時間會非常長;最後一個是我們具備生產環境上數百個MySQL的例項,這也是我們的一個容器化成果;

第二就是研發和擴充套件,可以按照容器的pod、物理主機節點、機櫃及資料中心級別做擴充套件,這塊我們也結合了很多CMDB的內容,但在這裡就不詳表了;

第三是IT成本的投入,這也是我們企業比較關注的一個內容,我們之前的私有云是用CloudStack作為平臺去搭建的,現在我們全部換成了容器。這大約節約了我們40%的資源,節省了60%的人力投入。以前我們要部署一個應用還需要提供虛擬主機在RD上面部署,現在容器一鍵部署就可以完成了。另外專案研發投入時間也節省了40%,因為部署應用之類的內容現在已經不需要RD人員來處理了,都是由我們平臺自動化處理的;

第四是安全、敏捷、高效,這部分業餘資料的全量備份我們也是分鐘級的,我們的庫縮得足夠小,所以我們可以在幾分鐘內迅速備份;第二在容災故障的時候,我們的業務運用一鍵恢復也是分鐘級的,資料快照是秒級的,資源利用率提升10倍,資料庫交付能力提升近百倍,我們整個應用有上百個MySQL節點,如果一個個部署非常慢,我們現在已經把映象做起來了,所以部署是非常迅速的;

最後一點是運維變得非常簡單,自動化、極致的、彈性容器的排程,灰度釋出、預釋出、藍綠部署、持續交付。

相關推薦

10DB交付效率金融科技資料庫生產容器實踐

2019年6月20日,由Rancher Labs(以下簡稱Rancher)主辦的第三屆企業容器創新大會(Enterprise Co

【MySQL】10條SQL優化語句讓你的MySQL資料庫跑得更快!

1. 慢SQL消耗了70%~90%的資料庫CPU資源; 2. SQL語句獨立於程式設計邏輯,相對於對程式原始碼的優化,對SQL語句的優化在時間成本和風險上的代價都很低; 3. SQL語句可以有不同的寫法; 1 不使用子查詢 例:SELECT * FROM t1 WH

愛可生助力金融行業踏上金融分散式資料庫轉型之路

近日,由中國支付清算協會與中國資訊通訊研究院聯合舉辦的“金融分散式事務資料庫研討會”在京順利召開。上海愛可生資訊科技股份有限公司帶著金融分散式資料庫最新理念、最新技術、最新模式與來自48家金融機構、行業科技公司的專家們,全方位、多視角的深度分享了“金融分散式事務資料庫”的實踐與發展。  

扎克伯格的26張PPT提高10工作效率

1、時間常有,時間在於優先。 2、時間總會有的:每天只計劃 4~5 小時真正的工作。 3、當你在狀態時,就多幹點;不然就好好休息:有時候會連著幾天不是工作狀態,有時在工作狀態時卻又能天天忙活 12 小時,這都很正常的。 4、重視你的時間,並使其值得重視:你的時間值 10

學會這幾個搜尋技巧你的效率將提高 10

我之前有一篇許岑的課程筆記(如何有效訓練你的研究能力)中提到過下面這句話:「研究在英文中叫 research,search 就是搜尋的意思,勤於搜尋,才適合做研究。」 很多新手總是喜歡問別人簡單的問題,其實沒有自己搜尋過就去問別人問題對你的研究能力基本沒有提升。我剛畢業的時候我

寫了 15 年程式碼總結出提升 10 效率的三件事

(轉)寫了 15 年程式碼,總結出提升 10 倍效率的三件事 2017-11-04 Matt Watson 程式人生 作者:Matt Watson  譯者:roy 【譯者注】本文作者 Matt Watson 已經寫了超過 15 年的程式碼,也由此總結出了提升 10

有了這些 Chrome 外掛效率提升10

Chrome 瀏覽器深受廣大程式設計師的喜愛,把她稱之為一場瀏覽器革命毫不為過。而它的外掛能夠極大地提高生產效率,筆者把自己經常用到的感覺不錯的外掛分享給大家,同時歡迎大夥兒推薦更多更好玩的外掛。 0、Proxy SwitchyOmega Proxy SwitchyOmega 是科學上網的必

頭一回見!提升10效率阿里給業務校驗平臺插上了AI的翅膀

摘要: 實時業務校驗平臺作為阿里集團老牌的業務審計系統,覆蓋了集團絕大部分的業務對賬場景,在線上問題及時發現以及減少集團資損上發揮著巨大作用,保障了各個系統的業務穩定性。本文主要介紹實時業務校驗平臺(以下簡稱BCP: Business Check Platform)在智慧化方面的創新和實踐。 關鍵詞:數值

Python到底有多慢? -- 比JAVA慢超10比VC慢30!(附C#, C++, Delphi, Lazarus的效率對比)

   誰都知道Python最大的缺點就是效能差,到底多差網上沒有具體資料,今天自己做了一個測試 。      首先要宣告一下, 這個簡單測試只是通過對陣列的建立、統計的耗時比較, 本以為陣列操作是python的強項,應該差別不大,但結果讓人大跌眼鏡:建立陣列Python耗時

這些堪稱神器的Chrome外掛提升效率不止10

沒有效率的工作就像慢性自殺,你沒法忍受一個網頁的等待時間超過3秒,你沒法忍受開10個頁面就卡死的瀏覽器,而有時只要我們善用工具就能帶來成倍的效率提升。 說到瀏覽器, 如果說 Chrome 是世界上最好的瀏覽器,也不為過,因為它帶來了愉悅的使用者體驗,跨平臺資料同

扎克伯格做了26張PPT員工效率10已被瘋狂傳閱!

1、時間常有,時間在於優先。2、時間總會有的:每天只計劃 4~5 小時真正的工作。3、當你在狀態時,就多幹點;不然就好好休息:有時候會連著幾天不是工作狀態,有時在工作狀態時卻又能天天忙活 12 小時,這都很正常的。4、重視你的時間,並使其值得重視:你的時間值 1000 美元/

掌握這些PPT技巧讓你的工作效率提高10

點擊 不知道 src 同事 方法 text 快速 分享 type 大家平時在辦公中是不是經常聽到有很多同事說PPT很難繪制呢?熟練的人們只要花一個小時就可以將一份精美的PPT就繪制好了,而我們要花費一上午甚至一天才能將其繪制好,做的慢就算了,做出來的效果還不忍直視,是不是很

乾貨:用好這13款VSCode外掛工作效率提升10

> 文章每週持續更新,原創不易,「三連」讓更多人看到是對我最大的肯定。可以微信搜尋公眾號「 後端技術學堂 」第一時間閱讀(一般比部落格早更新一到兩篇) > 大家好我是lemon, 馬上進入我們今天的主題吧。 ## 又見VsCode Visual Studio Code(簡稱VS Code)是一個由微軟開發

這個應用魔方厲害了讓軟體開發者效率提升10

摘要:軟體開發效率大幅提升一直是開發者追逐的夢想,如何實現夢想?低程式碼平臺將如何展現魅力? 軟體開發向來複雜,而且隨著業務變化加速,層出不窮的新技術出現,很多軟體開發者一直深陷泥潭,處於奔命、996瘋狂工作狀態中。 所以,軟體開發效率大幅提升一直是開發者追逐的夢想,如何實現夢想?低程式碼平臺將如何展現魅力?

沃爾沃最牛SUV來了比奧迪Q5霸氣10動力完爆奔馳GLC

中國 內容 自主 很多 發展 detail 吉利 習慣 tail ---恢復內容開始--- 作為和自主品牌結合後發展最成功的豪華品牌,非沃爾沃莫屬了。我們知道,在吉利的造車理念引導下,沃爾沃完美融入了中國汽車文化,他的很多設計風格都非常順應國人的審美習慣。而在今年的成都車

金融多家分公司倒閉現金監管見成效

達飛金融倒閉互聯網現金貸P2P達飛金融多家分公司倒閉,現金貸監管見成效深圳達飛金融控股有限公司,企業法人高雲紅作為法人代表或控股參股的企業,在天眼查,經過不完全統計有49家分公司註銷倒閉,在幾百家經營的企業當中,仍然有空殼公司。例如在一個借款合同糾紛案中,河北省新樂市人民法院執行裁定書,宣布被執行人秦皇島市融

必看|Linux運維中必用的工具讓你輕松10

1.0 接收 RoCE linux系統中 小天 刻度尺 捕獲 https 網絡流量 A:“A辦公區的網絡不太好咦”   B:“今天C區這邊網速好快呀”    C:“上傳這麽快,咋下載這麽慢呢?”    以上場景,作為Linux運維剛入門的同學來講,這些問題應該會經常

讓雲伺服器效能提升10的方法再也不用擔心週報沒有乾貨了!

歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~ 本文由騰訊雲資料庫 TencentDB發表於雲+社群專欄 隨著國內服務共享化的熱潮普及,共享單車,共享雨傘,共享充電寶等各種服務如雨後春筍,隨之而來的LBS服務定位問題成為了後端服務的一個挑戰。MongoDB對LBS查詢的支援較為友好,

人家寫了十五年的程式碼!總結出提升 10 效率的三件事!非常受用

原文:https://www.toutiao.com/a6622514229930902020   幾乎每個軟體開發人員或程式設計師都見過其他人編寫的程式碼,說明了“任何人都可以編碼”。但你有沒有遇到過所謂的神話般的“10倍效率的開發人員”?作為一個10倍效率的開發人員,在編

KubeCon Keynote演講:Kubernetes如何賦能可再生能源產業提升10效率

2018年11月14日,由雲原生計算基金會(CNCF)主辦的世界頂級容器盛會KubeCon在上海跨國採購會展中心正式拉開了帷幕,國內外領先的雲端計算企業,數千名容器領袖和技術專家齊聚一堂,共同分享交流在Kubernetes、微服務、DevO