偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

40億條/秒!Flink流批一體在阿里雙11落地的背后

開發(fā) 開發(fā)工具
今年的雙11,實時計算處理的流量洪峰創(chuàng)紀錄地達到了每秒40億條的記錄,數據體量也達到了驚人的每秒7TB,基于Flink的流批一體數據應用開始在阿里巴巴最核心的數據業(yè)務場景嶄露頭角,并在穩(wěn)定性、性能和效率方面都經受住了嚴苛的生產考驗。

?今年的雙11,實時計算處理的流量洪峰創(chuàng)紀錄地達到了每秒40億條的記錄,數據體量也達到了驚人的每秒7TB,基于Flink的流批一體數據應用開始在阿里巴巴最核心的數據業(yè)務場景嶄露頭角,并在穩(wěn)定性、性能和效率方面都經受住了嚴苛的生產考驗。本文深度解析“流批一體”在阿里核心數據場景首次落地的實踐經驗,回顧“流批一體”大數據處理技術的發(fā)展歷程。

隨著 11 月 11 日 12 點鐘聲的敲響,2020 年雙 11 的 GMV 數字定格在了 4982 億,在 Flink 實時計算技術的驅動下全程保持了絲般順滑滾動,基于 Flink 的阿里巴巴實時計算平臺也圓滿完成了今年雙 11 整體經濟體的實時數據任務保障,再次平穩(wěn)度過全年大考。

除了 GMV 媒體大屏之外,F(xiàn)link 還支持了諸如搜索推薦實時機器學習,廣告實時反作弊,菜鳥訂單狀態(tài)實時跟蹤反饋,云服務器的實時攻擊探測以及大量基礎設施的監(jiān)控報警等等重要業(yè)務。實時業(yè)務量和數據量每年都在大幅增長,今年的實時計算峰值達到了創(chuàng)紀錄的每秒 40 億條記錄,數據體量也達到了驚人的7 TB 每秒,相當于一秒鐘需要讀完 500 萬本《新華字典》。

截止目前,我們的實時計算作業(yè)數達到了 35000 多個,集群總計算規(guī)模也達到了超過 150 萬核,在中國乃至世界范圍內都處于領先水平。至此,F(xiàn)link 已經支持了阿里經濟體所有的實時計算需求,實現(xiàn)了全鏈路數據實時化,第一時間為消費者、商家以及運營人員帶來了數據的價值。

但今年 Flink 技術演進帶來的價值不僅于此,基于 Flink 的流批一體數據應用也開始在阿里巴巴最核心的數據業(yè)務場景嶄露頭角,并在穩(wěn)定性、性能和效率方面都經受住了嚴苛的生產考驗。

??

??

“流批一體”在阿里核心數據場景首次落地

事實上,F(xiàn)link 流批一體技術很早就在阿里巴巴內部開始應用了。Flink 在阿里的發(fā)展始于搜索推薦場景,因此搜索引擎的索引構建以及機器學習的特征工程都已經是基于 Flink的 批流一體架構。今年雙11,F(xiàn)link 更進一步,利用流批一體計算能力,助力數據中臺實現(xiàn)更加精準的實時離線交叉數據分析和業(yè)務決策。

阿里的數據報表分為實時和離線兩種,前者在諸如雙 11 大促場景下的作用尤為明顯,可以為商家、運營以及管理層提供各種維度的實時數據信息,并幫助其及時作出決策,提升平臺和業(yè)務效率。例如:在典型的營銷數據實時分析場景,運營和決策層需要對比大促當天某個時間段和歷史某個時間段的數據結果(比如大促當天 10 點的成交額和昨天 10 點成交額的對比),從而判斷當前營銷的效果,以及是否需要進行調控、如何調控等策略。

在上面這種營銷數據分析場景下,實際上需要兩套數據分析結果,一套是基于批處理技術在每天晚上計算出的離線數據報表,一套是基于流處理技術算出當天的實時數據報表,然后針對實時和歷史數據進行對比分析,根據對比結果進行相關決策。離線和實時報表分別是基于批和流兩種不同計算引擎產出,即批和流分離的架構不僅會有兩套開發(fā)成本,更難以解決的是數據邏輯和口徑對齊問題,很難保證兩套技術開發(fā)出的數據統(tǒng)計結果是一致的。因此,理想的解決方案就是利用一套流批一體的計算引擎進行數據分析,這樣離線和實時報表將天然一致。鑒于 Flink 流批一體計算技術的不斷成熟,以及前期在搜索推薦場景的成功落地,今年雙 11 數據平臺開發(fā)團隊也展示出堅定的信心和信任,與 Flink 實時計算團隊并肩作戰(zhàn),共同推動實時計算平臺技術升級,第一次讓基于 Flink 的流批一體數據處理技術在雙 11 最核心的數據場景順利落地。

??

??

今年由 Flink 團隊和數據平臺團隊共同推動的流批一體計算框架在雙 11 數據核心場景成功首秀,也得到了阿里數據中臺負責人朋新宇在業(yè)務層的認可:流批一體在技術上,實現(xiàn)了哪怕是多個計算處理模式,也只需要撰寫一套代碼就能兼容。在計算速度上比其他框架快1倍、查詢快4倍,給小二們搭建數據報表提升了4-10倍的速度。同時,由于"一體化"的特性,能實現(xiàn)實時與離線數據的完全一致。

??

??

除了在業(yè)務開發(fā)效率和計算性能上的進步,流批一體計算架構也讓集群資源利用率得到大幅提升。阿里的 Flink 實時集群經過最近幾年的高速擴展,已經達到了百萬核 CPU 的計算規(guī)模,上面運行著數萬個 Flink 實時計算任務。白天是實時數據業(yè)務的高峰期,晚上業(yè)務低峰期計算資源出現(xiàn)空閑,正好可以為離線批任務提供免費的計算資源。批和流一套引擎,運行在一套資源底座上,天然的削峰填谷,自然的混布,不僅節(jié)省了開發(fā)成本,同時也大幅節(jié)省了運維成本和資源成本。今年雙 11,基于 Flink 的流批一體數據業(yè)務,沒有額外申請任何資源,批模式全部復用 Flink 實時計算集群,集群利用率大幅提升,為業(yè)務方節(jié)省了大量的資源開銷,高效的資源模式也為后續(xù)更多業(yè)務創(chuàng)新提供了沃土。

“流批一體”,F(xiàn)link 十年磨一劍

接下來讓我們從技術角度聊一下“流批一體”大數據處理技術的發(fā)展歷程。這要從開源大數據技術的鼻祖 Hadoop 開始談起,10 多年前 Hadoop 作為第一代開源大數據技術出現(xiàn),MapReduce 作為第一代批處理技術解決了大規(guī)模數據處理問題,Hive 的出現(xiàn)更是讓用戶可以用 SQL 的方式進行大規(guī)模數據的計算。但隨著大數據業(yè)務場景的逐步發(fā)展,很多應用都對數據實時化產生了越來越強烈的需求,例如:社交媒體,電商交易,金融風控等行業(yè)。在這個需求背景下,Storm 作為第一代大數據流處理技術應運而生,Storm 在架構上和 Hadoop / Hive 完全不同,它是完全基于消息的流式計算模型,可以在毫秒級延遲情況下并發(fā)處理海量數據,因此 Storm 彌補了 Hadoop MapReduce 和 Hive 在時效性上的不足。就這樣大數據計算在批和流兩個方向都有了各自不同的主流引擎,并呈現(xiàn)出涇渭分明的格局,大數據處理技術經歷完了第一個時代。

隨后大數據處理技術來到了第二個時代, Spark 和 Flink 兩款計算引擎在新時代陸續(xù)登場。Spark 相對于 Hadoop 和 Hive,具備更加完善的批處理表達能力和更加優(yōu)秀的性能,這讓 Spark 社區(qū)迅速發(fā)展,并逐步超越了 老牌的 Hadoop 和 Hive,成為批處理技術領域的主流技術。但 Spark 并未止步于批處理技術,很快 Spark 也推出了流計算解決方案,即 Spark Streaming,并不斷進行改進完善。但大家都知道 Spark 的核心引擎是面向“批處理”概念的,不是一款純流式計算引擎,在時效性等問題上無法提供極致的流批一體體驗。但 Spark 基于一套核心引擎技術,同時實現(xiàn)流和批兩種計算語義的理念是非常先進的,與其具備相同流批一體理念的還有另一款新引擎 Flink。Flink 正式亮相比 Spark 稍微晚一些,但其前身是來自德國柏林工業(yè)大學 2009 年的研究項目 Stratosphere,至今也有 10 年之久。Flink 的理念和目標也是利用一套計算引擎同時支持流和批兩種計算模式,但它和 Spark 相比選擇了不同的實現(xiàn)路線。Flink 選擇了面向“流處理”的引擎架構,并認為“批”其實是一種“有限流”,基于流為核心的引擎實現(xiàn)流批一體更加自然,并且不會有架構瓶頸,我們可以認為 Flink 選擇了 ”batch on streaming“ 的架構,不同于 Spark 選擇的 “streaming on batch” 架構。

??

??

Flink 實現(xiàn)完善的流批一體架構也不是一蹴而就的,在早期的 Flink 版本中,F(xiàn)link的流和批無論在 API 還是在Runtime 上都還沒有達到徹底的統(tǒng)一。但從 1.9 版本開始,F(xiàn)link 開始加速在流批一體上進行完善和升級,F(xiàn)link SQL 作為用戶使用的最主流 API,率先實現(xiàn)了流批一體語義,使得用戶只需學習使用一套 SQL 就可以進行流批一體的開發(fā),大幅節(jié)省開發(fā)成本。

??

??

但是 SQL 并不能解決用戶的所有需求。一些定制化程度較高,比如需要精細化的操縱狀態(tài)存儲的作業(yè)還是需要繼續(xù)使用 DataStream API。在常見的業(yè)務場景中,用戶寫了一份流計算作業(yè)后,一般還會再準備一個離線作業(yè)進行歷史數據的批量回刷。但是 DataStream 雖然能很好的解決流計算場景的各種需求,但卻缺乏對批處理的高效支持。

因此,F(xiàn)link 社區(qū)在完成 SQL 流批一體升級之后,從 1.11 版本也開始投入大量精力對 DataStream 進行流批一體能力的完善,在 DataSteam API 上增加批處理的語義,同時結合流批一體 Connector 的設計,讓 DataStream API 能夠在流批融合場景下對接 Kafka 和 HDFS 等不同類型流批數據源。 接下來流批一體的迭代計算 API 也將被引入到 DataStream 中,進一步解鎖一系列機器學習的場景。

在當前 Flink 主版本中,不管是 SQL 還是 DataStream API,在流批一體概念上都還是流計算和批計算功能的一個結合體。用戶編寫的代碼,需要選擇使用流的方式跑,還是批的方式跑。但有些業(yè)務場景已經提出更高的要求,即流批混合的需求,并且自動的在批和流之間自動切換,例如:數據集成以及數據入湖場景,用戶的需求是先把數據庫的全量數據同步到 HDFS 或者云存儲上,然后再自動實時同步 DB 中的增量數據上去,并在同步過程中進行 流批混合的 ETL 數據處理,F(xiàn)link 也將在后續(xù)繼續(xù)支持更加智能的流批融合場景。

Flink “流批一體”技術在阿里巴巴的發(fā)展歷程

阿里巴巴是國內最早選擇 Flink 開源技術的公司,在 2015 年我所在的搜索推薦團隊希望面向未來5-10 年的發(fā)展,選擇一款新的大數據計算引擎,用來處理搜索推薦后臺海量商品和用戶數據,由于電商行業(yè)對時效性具備非常高的訴求,因此我們希望新的計算引擎既有大規(guī)模批處理能力,也具備毫秒級實時處理能力,即一款流批統(tǒng)一的引擎,當時 Spark 的生態(tài)已經走向成熟,并且通過 Spark Streaming 提供了流批一體的計算能力,而 Flink 當時剛剛在前一年成為Apache頂級項目,還是一個冉冉升起的新星項目,當時團隊內部針對 Spark 和 Flink 經過了一段時間的調研和討論,一致認為雖然 Flink當時生態(tài)并不成熟,但其基于流處理為核心的架構對于流批一體的支持更加合適,因此非常迅速的做出決定,在阿里內部基于開源 Flink 進行完善和優(yōu)化,搭建搜索推薦的實時計算平臺。

經過團隊一年的努力,基于 Flink 的搜索推薦實時計算平臺成功的支持了2016 年的搜索雙 11,保證了搜索推薦全鏈路實時化。通過在阿里最核心業(yè)務場景的落地證明,也讓全集團都認識了 Flink 實時計算引擎,并決定將全集團實時數據業(yè)務都將遷移到 Flink 實時計算平臺上。又經過一年的努力,F(xiàn)link 在 2017 年雙 11 不負眾望,非常順利的支持了全集團雙 11 的實時數據業(yè)務,包括 GMV 大屏等最核心的數據業(yè)務場景。

2018 年 Flink 開始走向云端,阿里云上推出了基于 Flink 的實時計算產品,旨在為廣大中小企業(yè)提供云計算服務。飲水思源,阿里巴巴不僅希望利用 Flink 技術解決自己業(yè)務的問題,同樣也希望能夠推動 Flink 開源社區(qū)更快的發(fā)展,為開源技術社區(qū)做出更多貢獻,因此阿里巴巴在 2019 年初收購了 Flink 創(chuàng)始公司和團隊 Ververica,開始投入更多資源在 Flink 生態(tài)和社區(qū)上。到了 2020 年,國內外主流科技公司幾乎都已經選擇了 Flink 作為其實時計算解決方案,我們看到 Flink 已經成為大數據業(yè)界實時計算的事實標準。

??

??

接下來,F(xiàn)link 社區(qū)不會停止技術創(chuàng)新,在阿里巴巴業(yè)務場景中流批一體技術已經從理論走向落地。2020 年的雙 11,F(xiàn)link 流批一體技術在天貓營銷決策核心系統(tǒng)中給出了精彩的表現(xiàn),加上之前已經在搜索推薦中成功運行的流批一體索引構建以及機器學習流程,充分驗證了5 年前我們大膽選擇 Flink 技術體系的正確性,相信未來我們將會在更多公司看到 Flink 流批一體技術的落地。

“流批一體”技術創(chuàng)新,推動 Flink 開源社區(qū)蓬勃發(fā)展

Flink 堅持流批一體技術創(chuàng)新之路,也自然推動 Flink 開源社區(qū)的高速發(fā)展和生態(tài)的加速繁榮。我們欣喜的看到,隨著 Flink 在國內更多公司的加速落地,來自中文社區(qū)力量日益龐大,已經開始逐漸超越國外成為主流。

首先最明顯的是用戶數量的增多,從今年 6 月份起,F(xiàn)link 中文郵件列表的活躍度開始超越英文郵件列表。隨著大量的用戶涌入 Flink 社區(qū),也帶來了更多的優(yōu)秀代碼貢獻者,有效的促進了 Flink 引擎的開發(fā)迭代。

自 1.8.0 版本以來,F(xiàn)link 每個版本的 Contributor 數量都在提升,其中大多數都是來自國內的各大企業(yè)。毫無疑問,來自國內的開發(fā)者和用戶群體,已經逐漸成為推動 Flink 向前發(fā)展的中堅力量。

??

??

中文社區(qū)的不斷壯大,使得 Flink 整體的活躍度和 2019 年相比有增無減。在 Apache 軟件基金會 2020 財年的報告中,F(xiàn)link 蟬聯(lián)了年度最活躍項目(通過 user+dev 郵件列表活躍度)。與此同時,在代碼 Commit 次數和 Github 主頁流量這兩項指標上,F(xiàn)link 均排名第二。能在 Apache 軟件基金會接近 350個 頂級項目中取得如此成績,著實不易。

Flink Forward Asia 2020,“流批一體”技術揭秘

Flink Forward 是由 Apache 官方授權的 Flink 技術大會, 今年 Flink Forward Asia (簡稱:FFA) 大會全程采用在線直播的方式,免費為廣大開發(fā)者提供一場開源大數據技術盛宴,足不出戶可以在線觀看來自 阿里巴巴、螞蟻科技、騰訊、字節(jié)跳動、美團、小米、快手、B 站、網易、微博、Intel、DellEMC、Linkedin 等國內外一線互聯(lián)網公司針對 Flink 的技術實踐分享和技術創(chuàng)新。

流批一體也將是本屆 FFA 大會的熱門話題,來自天貓數據技術負責人將會給大家分享 Flink 流批一體技術在阿里的實踐和落地,讓大家看到流批一體技術是如何在雙 11 最核心的場景中發(fā)揮業(yè)務價值;來自阿里巴巴、字節(jié)跳動的 Flink PMC 和 Committer 技術專家將圍繞 Flink 流批一體 SQL 和 Runtime 進行深度技術解讀,為大家?guī)?Flink 社區(qū)的最新技術進展;來自騰訊的游戲技術專家將為大家?guī)?Flink 在國民游戲王者榮耀中的應用實踐;來自美團的實時大數據負責人將為大家介紹 Flink 如何助力生活服務場景實時化;來自快手大數據負責人將為大家?guī)?Flink 在快手的前世今生發(fā)展歷程;來自微博的機器學習技術專家將為大家?guī)砣绾卫?Flink 進行信息推薦。此外,F(xiàn)link 相關的議題還涵蓋了金融、銀行、物流、汽車制造、出行等各行各業(yè),呈現(xiàn)出百花齊放的繁榮生態(tài)景象。歡迎對開源大數據技術有熱情的開發(fā)者能參加本屆 Flink Forward Asia 技術大會,了解更多 Flink 社區(qū)最新技術發(fā)展和創(chuàng)新。

【本文為51CTO專欄作者“阿里巴巴官方技術”原創(chuàng)稿件,轉載請聯(lián)系原作者】

??戳這里,看該作者更多好文??

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2020-01-13 14:39:06

FlinkSQL無限流

2018-11-12 11:47:49

2023-09-05 07:22:17

Hudi數據存儲

2022-06-30 09:30:36

FlinkSQL流批一體京東

2023-05-16 07:24:25

數據湖快手

2023-03-30 07:40:03

FeatHub 項目特征工程開發(fā)

2021-08-02 10:19:08

Dataphin 數倉架構存儲計算分離

2019-07-01 15:40:53

大數據架構流處理

2024-06-25 13:08:31

2022-09-29 09:22:33

數據倉

2023-12-14 13:01:00

Hudivivo

2023-06-28 07:28:36

湖倉騰訊架構

2021-06-30 09:20:08

數倉FlinkHive

2019-11-29 10:02:53

AI 行業(yè) 人工智能

2019-11-28 20:51:10

阿里云Alink開源

2021-11-18 21:09:50

流批場景引擎

2017-11-28 08:56:03

DBPaaSDBA數據庫

2023-09-24 20:31:23

數字化

2018-11-13 15:53:56

數字經濟操作系統(tǒng)

2021-11-29 22:39:39

引擎Flink架構
點贊
收藏

51CTO技術棧公眾號