天天看點

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

作者:高旸(吾與),阿裡巴巴進階産品專家

本文由阿裡巴巴進階産品專家高旸(吾與)分享,主要介紹新一代Serverless實時計算引擎的産品特性及核心功能。

一.實時計算 Flink 版 – 産品定位與目标

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

首先,介紹一下實時計算Flink版産品定位與目标。近些年來可以明顯的看到大資料技術整體發展趨勢是“實時化”。

  • 線上應用,越來越多的業務場景和應用都逐漸演變為線上的應用,比如直播、短視訊等都更強調實時化。
  • 線上ML,機器學習也從傳統的離線機器學習向線上機器學習演進。
  • 微服務化,微服務現在也非常流行在算法層面做充分的解耦。
  • 實時風控,如金融風控、内容安全的風控以及純粹安全角度的風控等也在逐漸發展為實時化。
  • 實時ETL,實時資料的抽取、過濾、聚合,然後産生結果。
  • 實時數倉,T+1的資料報表已無法滿足客戶目前需求,需要從整體包括實時鍊路增量資料的統一次元來做聯邦查詢,突出統一的報表,随之衍生出來的實時數倉。

從整個技術棧的發展情況可以看到實時化已經成為大資料技術發展的必然趨勢,Flink主打的也是實時化場景。

其次,Apache Flink已經成為國内實時計算的事實标準。目前,阿裡雲實時計算 Flink 版已經在國家相關部門進行國标、院标的申請,如實時計算标準、融合計算标準,包括了流計算、批計算、ML、圖計算等。可以看到很多國内主要的網際網路公司都在使用 Flink 或阿裡雲實時計算 Flink 版。傳統的金融公司、大型制造業等随着線上支付、5G的到來、車聯網的引入,也開始探索引入大資料的實時化,采用 Flink 作為資料計算的核心引擎。

第三,阿裡巴巴一直在主導Flink社群,積極推進Flink技術演進并全力投入Flink社群營運。2019年1月,阿裡巴巴完成了對 Flink 創始團隊,即Flink商業化母公司Ververica的收購。可以看到從2019年開始阿裡雲包括整個阿裡集團開始對 Flink社群進行大量的投入。

  • 貢獻代碼300萬+行
  • 舉辦 Flink 社群 Meetup 并引入 Flink 品牌大會 Flink Forward
  • 全球最大的 Flink Committer / PMC 團隊
  • 開源社群的引導者

第四,從目前主流的計算引擎來看,每款開源産品背後都有一家商業化公司為其提供支撐。像Databricks與開源Spark, Confluent與開源Kafka關系類似,阿裡雲實時計算Flink版是開源Flink的商業化品牌,為企業及客戶提供一站式實時計算商業化解決方案及雲上SLA保障。

二.實時計算 Flink 版 – 産品功能介紹

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

接下來主要介紹實時計算Flink版的核心産品功能。Ververica Platform源自于德國Apache Flink創始團隊,是一個非常成熟的、穩定的,經過海外多年企業級客戶使用和打磨錘煉的商業化産品。今年被引入到中國地區做商業化落地,它主要分為三個部分:

1.開發子產品

  • SQL開發平台:近些年,大資料開發逐漸SQL化,從商業分析師到業務人員都可以通過SQL快速介入到業務邏輯的開發處理,極大提升了效率并且節省了人力。
  • Job作業全生命周期管理:從作業的送出到停止,整個生命周期上傳下載下傳,都可以進行管理。
  • 圖形化 Metrics:開源社群的Flink提供的監控名額相對較少,而商業化産品做了大量的埋點,可以看到很細膩的名額。
  • 豐富的Connectors:支援資料轉變成實時化,充分挖掘資料資産,可以做更多的分析,激活商機促成轉化。

2.運維子產品

  • 全鍊路監控報警:對于公司包括銀行,全鍊路的監控十分重要。尤其是上了生産系統以後,對全鍊路的名額監控報警要求極高,也是 Ververica Platform非常重要的功能之一。
  • OIDC & RBAC:權限認證,從網際網路行業向或傳統行業來看,深度上雲時傳統企業對權限的管控、通路管理要求嚴格,OIDC & RBAC可完全比對金融或者銀行、保險公司的要求。
  • 智能化配置調優:配合SQL開發平台,使用智能化調優的功能可自動通過内置的規則引擎幫助客戶調整一些主要配置參數,使作業的資源配置或資源消耗達到最優成本效益。 既能夠省資源,又能夠高效地完成作業。
  • 彈性資源管理:從作業task manager到job manager,做資源的彈性管理,即客戶負載較高的時候,可以申請更多資源;負載低的時候可以釋放多餘的資源,提高資源使用率,節省成本。

3.性能

  • SQL引擎優化:與開源 Flink 相比,商業版的SQL更加強大。
  • 執行引擎的優化:專業的 Runtime 團隊對網絡和shuffer部分進行持續優化。
  • 存儲引擎優化:商業版的Gemini存儲引擎在一些标杆的客戶現場的做過驗證和測試,整體上商業版Flink的性能是開源Flink性能的三倍。

4.底座

實時計算Flink版可以基于整個阿裡雲計算平台的EMR平台,也可以基于K8S容器平台,包括最新的按量計費Serverless底座等,基于安全容器隔離,彈性伸縮能力更強。

三.實時計算 Flink 版 功能使用詳解

1.SQL 內建

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

大資料處理的互動界面,目前業界普遍的共識或傾向是SQL。SQL整體更簡單,門檻更低,資料分析師、業務人員可以快速上手,大幅度提高人效和開發效率。

上圖綠色界面,是德國團隊開發的Ververica Platform,整體界面風格簡潔直接,沒有過多繁雜備援的互動。目前Ververica Platform提供豐富的SQL語義支援,包括支援DML及DDL等完整的SQL語義。

2.DataStream 作業管理

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

Ververica Platform支援各種作業送出方式。有标準模式及進階模式。在送出的過程中可以靈活選擇各種參數及配置。目前Ververica Platform支援各種核心,既可以支援開源核心(例如:開源Flink v1.10、Flink v1.11以及未來的開源版本),也支援商業化核心(例如: Ververica Runtime) 。當然商業化核心在性能和功能上有更多的插件化增強,可實作對客戶作業的完美相容。

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

這部分主要是參數配置:資源配置和日志配置,還有作業管理。

3.自動調優Auto-Pilot

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

Auto-Pilot可以針對SQL、DataStream的作業,自動打開Auto-Pilot功能,可以在系統中自動幫客戶調整并發度、CPU使用量、記憶體使用量等。

4. UDF管理

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

通常情況下UDF配合SQL可以實作客戶80%的場景。當然客戶可能還有其他比較複雜的場景(例如:自定義視窗,自定義connector等),需要通過基于DataStream API的代碼開發作為補充。

5. Metrics監控

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

Metrics監控是很多客戶關注的部分,尤其在生産環境中。線上業務越敏感,對名額的監控要求更高。Ververica Platform 的監控提供了非常豐富的次元,包括Overall監控、Checkpoint監控、Watermark監控、網絡監控、CPU監控、JVM監控、IO監控等。

6.豐富的上下遊支援

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

實時計算Flink版支援豐富的上下遊,包括Stream Message、Dimension Data、Data Storage、Data Sink。阿裡雲實時計算Flink版是中間的計算環節。目前,實時計算 Flink 版對雲上的 Data Source、Data Sink以及開源的 Data Source、Data Sink都支援的比較好,使用起來都很友善。

四.實時計算 Flink 版 – 半托管及全托管服務介紹

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

全托管服務、半托管服務其實顧名思義指是否有端到端的産品服務。包含産品服務的為全托管服務,不包含全部售後服務或技術支援服務的被稱為半托管服務。現在兩種産品形态阿裡雲實時計算 Flink 版都提供。

Flink的全托管服務和半托管服務的差別可以從五個次元對比,分别是适用場景、功能特性、運維管理、彈性擴充及性能效率。整體來看全托管服務TCO更低,成本效益更高,同時還可以享受到原廠的高SLA服務。

五.實時計算 Flink 版 – 通用業務場景

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

阿裡雲實時計算主打的通用業務場景主要有四個:

  • 實時ETL & 索引建構, 主要通過實時計算完成資料的實時抽取、資料的實時聚合、清洗。比如:實時監控平台或實時大屏場景。
  • 實時的統計和分析,比如:實時數倉場景。
  • 實時機器學習。随着使用者紅利結束,傳統T+1離線推薦引擎轉化率效果越來越差,推薦引擎也在向實時化演進,通過實時樣本拼接及實時增量模型提升轉化率。
  • 實時事件處理,主要是實時監控、風控場景。比如說在金融領域線上信貸實時金融風控場景;安全領域基于态勢感覺的大資料實時安全風控場景。

以下為目前阿裡雲實時計算 Flink 版一些比較典型的客戶及行業分布。

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

以下将介紹一些典型的實時計算應用場景及案例。

1. 實時計算 Flink 版 – 實時大屏場景

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

實時大屏是阿裡雲實時計算 Flink 版的典型場景,也是阿裡巴巴集團内部從16年到至今一直在去跑的,2019年雙11,實時計算 Flink 版巅峰處理的消息到達了每秒25億條,資料吞吐量是2.63TB每秒。實時大屏資料鍊路主要分為兩部分,一部分是使用者的交易資料,一般都會存在傳統關系資料庫;另一部分是行為資料或行為日志(例如:使用者浏覽或點選日志),一般會存在ECS的日志系統裡。通過Kafka及類CDC的資料抽取工具,将資料實時推送到Flink做實時的資料處理、聚合及清洗,然後實時存儲結果資料做實時資料可視化展示。

實時大屏場景的應用非常廣泛,比如 VIPKID的線上教育大屏,中央電視台春晚的大屏、去年國慶節的雲上閱兵實時展示,包括58到家的生活大屏,以及建設銀行、民生銀行使用弗林克斯在做的中控平台的整個交易電路的的監控大屏等。

2. 實時計算 Flink 版 – 實時ETL資料處理場景介紹

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

第二個是實時的ETL場景。例如:線上教育場景,線上教室1對1或1對多課堂中的學生行為,甚至家長在網站上的浏覽購物行為,這些日志通過DataHub或Kafka傳給Flink做實時的清洗、聚合。然後存儲到諸如Elasticsearch的搜尋平台裡,客戶、營銷人員做一些搜尋,或者由系統運維人員對整個鍊路做監控和報警。

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

VIPKID主打線上一對一視訊課程,巅峰時可能每小時開課數量答3萬多節,去年開始使用了實時計算Flink版,做到了将不同部門的日志通過MQ隊列都抽取到實時計算Flink中,然後由統一部門進行計算、資料清洗,并将最終結果存儲到不同的業務部門供其消費。

3.實時計算 Flink 版 – 線上機器學習場景介紹

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

實時計算的線上機器學習應用場景,圖中底部所示是傳統的離線機器學習的處理鍊路:通過離線日志,做離線的樣本生成,然後離線訓練,然後再提供離線推薦服務。這是傳統機器學習鍊路。随着業務的發展,使用者(月活或者日活)到達一定數量級後,推薦的轉化率就很難提高,就需要從時間次元去挖掘模型的價值。比如希望更快速的給客戶推薦一些符合需求的結果,是以需要增加實時的線上機器學習處理鍊路。

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

以某社交媒體頭部客戶為例,目前為止該平台線上機器學習應用在多個業務場景,每天處理30億到100億條資料,計算的場景也比較複雜,如多流join,甚至有多媒體的計算。可以看到在整個線上機器學習中,使用實時計算 Flink版作為計算引擎後轉化率效果提升明顯,線上的模型效果比離線的模型效果提升了8%左右。

4. 實時計算 Flink 版 – 實時數倉場景介紹

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

随着離線資料及實時資料不斷的積累,實時數倉是目前的熱點場景。很多網際網路公司,包括很多的傳統企業(例如:銀行、保險公司)都有實時數倉的訴求。客戶不僅想看到離線的資料的報表和結果,同時需要檢視到實時寫入資料的報表結果。如何解決數倉大并發實時寫入,實作流批一體、行列混合存儲及存儲計算分離架構,如何基于聯邦查詢提供one service的企業級統一出口是近期行業内技術演進的焦點。

六.實時計算 Flink 版 – 實時資料處理鍊路 Demo

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

網際網路公司的資料天生具有“實時化”的屬性,本能的會将資料、日志通過類Kafka的消息引擎做收集然後通過實時計算Flink版做處理。但傳統企業(例如:車企、制造商、零售企業),早期的資料資産都存儲在關系型資料庫中,數字化轉型,業務線上化或實時化的過程中,如何激活這部分海量資料,把這部分所謂的靜态資料實時化,充分挖掘企業海量資料資産的價值,就成了關鍵。

今年可以看到很多傳統企業通過資料中台項目做資料源的改造(本質是為了實時化做準備)。本Demo主要展示了從資料源到資料抽取(激活靜态資料)再到資料的實時處理(雙流Join及流表Join)然後再到實時數倉的落地和互動分析查詢及實時資料可視化展示,端到端的鍊路來示範全鍊路的實時資料處理的流程和場景。

七.Serverless 全托管 Flink – 免費測試

實時化或成必然趨勢?新一代 Serverless 實時計算引擎

目前基于全托管Flink正在做免費測試,大家都可以去公測位址免費申請。一般客戶使用雲上服務有幾個顧慮。

  • 第一、覺得半托管沒有服務、沒有兜底、沒有保障,全托管服務其實都可以解決。
  • 第二、覺得雖然全托管服務解決了售後的問題,但是可能價格有時候偏貴。

利用serverless最新技術,按量計費和彈性擴充模式,既可以保證客戶對成本效益的要求,也可以保證客戶對兜底的訴求。希望有更多的客戶,更多感興趣的開發者可以去長期試用。大家可以體驗一下,發現問題也可以及時回報,我們會不斷的改進和優化。

免費測試申請位址:

https://realtime-compute.console.aliyun.com/#/dashboard/managed/ack

PPT下載下傳連結

https://files.alicdn.com/tpsservice/0ddb5fd9131b8068f282d57e916ec24a.pdf

實時計算 Flink 版産品交流群

實時化或成必然趨勢?新一代 Serverless 實時計算引擎
阿裡雲實時計算Flink - 解決方案: https://developer.aliyun.com/article/765097 阿裡雲實時計算Flink - 場景案例: https://ververica.cn/corporate-practice 阿裡雲實時計算Flink - 産品詳情頁: https://www.aliyun.com/product/bigdata/product/sc