周講堂 | CACMP的中台建設

2020-02-06 瀏覽量:34638 分享:

近期國內疫情依然嚴重,我們堅決相信在黨和政府的正確領導下,我們離全麵勝利越來越近。但是比疫情更嚴重的是之後對經濟的影響,今天碰巧跟一個朋友聊到受疫情影響後金融行業的走勢,順便又看了一遍“Inside Job”。

當然,CACMP汽車金融平台就更凸顯免接觸、線上化的優勢所在。CACMP其中的業務進件板塊提供了從線上進件、電子合同簽約、視頻麵簽、數字存證等一係列流程電子化。所有的係統互通互聯,係統又是什麽,係統無非完成著數據產生、數據流轉、數據加工、數據展示的全過程。CACMP在整體設計過程中,參考了以中台為基礎的思路,中台當然至少包含數據中台與業務中台的結合。下麵簡單介紹一下CACMP中台的設計思路。

阿裏較早提出了 “大中台,小前台”戰略。通過多年不懈的努力,在業務的不斷催化滋養下,將自己的技術和業務能力沉澱出一套綜合能力平台,具備了對於前台業務變化及創新的快速響應能力。我們建設中台到底要幹什麽,業務中台更好的配合雲計算的PaaS模式,為整體係統平台提供業務支撐及公共服務工具,提供的是企業級的功能複用平台;數據中台的存在明確數據在哪裏。通過數據中台相關工具,自動化抽取現在運行數據庫的庫表定義,字段屬性和關聯關係,利用圖的高維展示技術,實現快速數據位置定位。分析數據使用頻度和調用關係,挖掘數據血緣關係,構建網絡圖譜,實現數據關係高維展示,分析係統搬遷上雲,容災備份和字段變更等影響範圍。

 這樣數據中台和業務中台可以互相融合,其實兩個中台沒有其實沒有什麽必然的關係,公司有業務中台的話,數據中台的工作會好做很多。因為業務中台已經使業務數據存儲到了一個地方,這樣就不用再對每個產品線,溝通成本會大大降低。沒有業務中台的公司也可以搭建數據中台,隻不過多麽一步要從各條業務線采集數據。所以,有了業務中台,數據中台的搭建會事半功倍。同時,構建數據中台的過程,是一個很好的製定數據標準化,進行數據治理的過程;構建業務中台的過程,更是一個服務治理,服務標準化的過程。大中台小前台,並不代表前台不重要性,反而大中台的建設就是為了更好地服務好小前台,大中台的建設也需要靠小前台的引導才能真正發揮和體現出來,大中台小前台戰略,其實是給小前台的構建提出了更高的要求。所以想構建綜合的中台服務平台,必須有對全業務體係流程及技術架構非常了解的資深產品經理來Drive才有可能成功。

下麵這張圖,反應了CACMP在中台化建設的過程,在平台建設係統設計過程中,我們根據業務需要,在不同的係統(服務)交互過程中選擇了Spark,Flink,MongoDB, MySQL,ES及HBase等基本的存儲工具。當然,這些工具不是數據中台,也不是業務中台,隻是支撐中台化設計(思想)的組件,大家各個公司都有自己的工具庫,隻是筆者對這些工具用的多才做了選擇。整體的中台化設計也要圍繞的業務的開展進行,CACMP在構建過程中也是先實現業務,然後進行服務,數據的整理及水平擴展,在擴展過程中,才想到既然是SaaS+PaaS的模式,中台必不可少,而且可以借助建立中台的過程,review自身的架構及係統平台的技術指標,也是為平台的運維打下更好的基礎。

而且針對係統平台建設過程中對Spark的使用,在本文中也做個詳細介紹。筆者選擇了Spark完全也是在於Spark提供完善的工具包,提供了優秀的數據寫入方式。

Spark通過RDD進行的數據寫入過程。(參考https://www.jianshu.com/p/7957b81f0dcf

而且Spark啟動之後,內部Executor的內存的管理建立在JVM的內存管理之上,Spark對JVM的堆內存做了優化分配,而且引入了堆外內存,使之能在係統內存中獲得空間,優化使用過程。可以參考以下流程:(即使這樣,在構建過程中,也發生過OOM的問題,大都是Executor的內存不足引起的,在Spark的Executor的Conf中記得修改成合適的數字即可)

·  申請內存:1.Spark 在代碼中 new 一個對象實例2.JVM 從堆內內存分配空間,創建對象並返回對象引用3.Spark 保存該對象的引用,記錄該對象占用的內存

·  釋放內存:1.Spark 記錄該對象釋放的內存,刪除該對象的引用2.等待 JVM 的垃圾回收機製釋放該對象占用的堆內內存JVM 的對象可以以序列化的方式存儲,序列化的過程是將對象轉換為二進製字節流,本質上可以理解為將非連續空間的鏈式存儲轉化為連續空間或塊存儲,在訪問時則需要進行序列化的逆過程——反序列化,將字節流轉化為對象,序列化的方式可以節省存儲空間,但增加了存儲和讀取時候的計算開銷。

相中了Spark的數據存儲能力,會在數據流轉過程中更好的使用這個工具。在量子風控的貸中、貸後數據采集及分析過程中,不僅僅用到了Flink這種以Event-Driven為模型的框架,更會使用到Spark這樣的數據存儲及基礎分析的All-in-One 工具箱;CACMP在中台的建設過程中走出了完成架構設計的第一步,麵對大量後期多家資產端的貸後數據整合及資金端數據的統一做好了數據標準化的第一步,下麵的文章會繼續深入介紹CACMP的業務中台構建的架構及數據中台的服務指標設計。