sponsored links

峰值6億/秒,Flink在京東的應用與最佳化實踐

導讀:Flink是目前流式處理領域的熱門引擎,在實時數倉、實時風控、實時推薦等多個場景有著廣泛的應用。京東於2018年開始基於Flink+k8s深入打造高效能、穩定、可靠、易用的實時計算平臺,支撐了京東內部多條業務線平穩度過618、雙11多次大促。本文將分享京東Flink在應用過程中遇到的問題、挑戰和解決方案,在效能、穩定性、易用性等方面對社群版Flink所做的深入的定製和最佳化,以及未來的展望和規劃。今天的分享主要分為三個部分:

  • 演進和應用
  • Flink最佳化改進
  • 未來規劃

01

演進和應用

首先給大家介紹Flink在京東的發展歷程、平臺架構、應用和業務規模。

1. 發展歷程

峰值6億/秒,Flink在京東的應用與最佳化實踐

京東在2014年基於storm打造了第一代流式處理平臺,它可以較好的滿足資料處理的實時性要求。不過它有一些侷限性,比如對於一些資料量特別大的場景,顯得有些力不從心。於是我們在2017年引入了spark streaming,利用它的微批處理來應對這種業務場景。隨著業務的發展和業務規模的擴大,2018年我們引入了具有低延遲、高吞吐,同時支援狀態計算和恰好一次語義能力的新一代計算引擎Flink,同時開始基於k8s進行實時計算的容器化升級。到2019年,實時計算全部跑在k8s上了,我們基於Flink1.8開始打造全新的SQL平臺。在2020、2021年,我們進行了統一引擎的工作,並初步支援智慧診斷和彈性伸縮,過去流處理是我們關注的重點,我們平臺也開始支援批處理,整個平臺朝著流批一體智慧化的方向演進。

2. 平臺架構

峰值6億/秒,Flink在京東的應用與最佳化實踐

京東實時計算平臺以Flink為核心,部署在K8S叢集上,狀態儲存在HDFS中,用Zoopkeeper來實現高可用。支援京東內部自研訊息佇列JDQ,資料可以寫入Hive、HBase等儲存裡。

3. 應用場景

峰值6億/秒,Flink在京東的應用與最佳化實踐

目前絕大多數實時場景都會透過Flink來計算,同時部分批處理的任務也會用Flink來支援。

4. 業務規模

峰值6億/秒,Flink在京東的應用與最佳化實踐

02

Flink最佳化改進

京東在效能、穩定性、易用性等方面對社群版Flink做了深入的定製和最佳化工作。

1. 預覽拓撲

峰值6億/秒,Flink在京東的應用與最佳化實踐

支援使用者提交作業之後可以預覽拓撲,可以選中每一個運算元進行並行度設定和槽位的分組預覽,同時也可以清楚的看到網路資源的使用情況等等,透過這樣的方式使用者可以非常方便的對任務進行調優。

在修改拓撲配置的時候,我們通常需要知道運算元和配置之間的穩定關係,對於運算元我們會根據透過使用者在運算元中指定的uidHash或者uid,或者運算元在拓撲中的位置如前後關係來生成一個唯一的key與配置構成穩定的對應關係。使用者可以線上調整運算元的配置並進行預覽。

峰值6億/秒,Flink在京東的應用與最佳化實踐

2. 背壓量化

當下遊消費跟不上上游的資料生產時,作業會遇到一些瓶頸,可以透過Flink UI的Monitor看到背壓的高低和位置。這種方式存在一些問題:

  • 有的場景下采集不到背壓
  • 無法跟蹤歷史背壓情況
  • 背壓影響不直觀
  • 大並行度時被壓採集壓力大

峰值6億/秒,Flink在京東的應用與最佳化實踐

還可以透過Flink Task Metries來檢視被壓情況,這種方式可以解決追蹤歷史背壓的問題,支援將背壓情況採集到普米修斯或其他服務裡進行歷史的檢視。但仍存在下面一些問題:

  • 不同的Flink版本指標差異
  • 分析背壓有一定門檻
  • 背壓影響不直觀

峰值6億/秒,Flink在京東的應用與最佳化實踐

最佳化方案:

  • 採集背壓發生的位置、時間和次數指標作為指標上報
  • 背壓監控+執行拓撲,精準反映背壓現場情況

3. 檔案系統支援多配置

改進背景:業務人員希望把狀態放在公共叢集,同時又想讀取業務集市裡業務資料;使用者希望把資料從一個OSS儲存讀出,處理後到另一個OSS儲存。

峰值6億/秒,Flink在京東的應用與最佳化實踐

解決方案:基於Flink檔案系統的基本機制進行改進,使用不同的schema將不同的服務的配置進行隔離。

峰值6億/秒,Flink在京東的應用與最佳化實踐

4. 資料分發最佳化

最佳化背景:在運算元上下游並行度不一樣時,在Flink中預設資料分發機制是rebalance,即將所有資料依次分發給下游所有的並行度,這種分發機制一般情況下都是可以很好的工作的。不過,對於一些特殊場景,可以進一步最佳化提升計算效能。

峰值6億/秒,Flink在京東的應用與最佳化實踐

① 採用基於負載的動態的rebalance

當下遊運算元的各個Task負載不均衡時,處理最慢的Task將會成為計算的瓶頸,為此我們開發了基於下游負載情況進行動態分發的動態rebalance機制:上游運算元Task在分發資料時,優先發送給下游處理最快的Task,而不是採用round-robin的方式均分發送。透過這種最佳化,我們經過大量測試發現,在負載不均衡的場景中計算效能可以提升近一倍。

② 使用rescale代替rebalance

如果上游並行度資料比較均勻且上下游並行度數量成比例,此時就可以採用rescale代替rebalance機制提升效能。實現機制是將上游每個並行度的輸出資料按照下游並行度進行分割槽分發,不是分發到下游所有並行度,比如上游運算元並行度為2,下游運算元並行度為4,就可以將上游的第一個並行度的資料分發到下游前2個並行度,上游第二個並行度的資料分發到下游後2個並行度。

這種分發機制不僅減少了網路buffer,提高了網路效率,還降低了上下游的相關程度,有利於使用Flink的region機制進行故障恢復。

5. 最後一次CP作為SP

最佳化背景:在異常情況下需要進行任務重啟或遷移時,作業來不及或者根本無法完成savepoint,導致會有較長時間的狀態丟失。

為了解決這個問題,我們開發了最後一次cp作為sp的功能,並與產品平臺JRC進行了深度整合。基本過程是這樣的:在任務停止時,會將最後一次checkpoint持久化;在下一次任務啟動時,使用者可以選擇從最新cp恢復任務;在任務執行起來並完成一次cp後,會將上次持久化的cp刪除掉,釋放儲存空間。

峰值6億/秒,Flink在京東的應用與最佳化實踐

6. 其他最佳化

峰值6億/秒,Flink在京東的應用與最佳化實踐

HDFS最佳化:合併小檔案,降低RPC呼叫等。

  • 讀取本地檔案時增加buffer用於緩衝提高讀寫效能。
  • zk防抖:在網路抖動、計算節點負載壓力較大或zk服務短暫無響應時,會導致job manager / task manager與zk短暫斷開連線導致任務重啟,透過防抖最佳化可以避免任務重啟,提高穩定性。
  • 任務區域性恢復:支援作業Failover時只恢復個別失敗的Task,從而避免整個任務重啟的巨大開銷,適用於可以容忍少量資料丟失的場景。
  • 叢集多工排程隔離:把同一叢集中不同任務的運算元排程到不同taskManager中避免不同任務相互影響。
  • 日誌增強:支援日誌分離、日誌級別動態配置等
  • SQL擴充套件:視窗支援增量計算, 支援offset
  • 智慧診斷:支援對作業大多數場景進行自動分析診斷,給出問題診斷結果和建議。

03

未來規劃

峰值6億/秒,Flink在京東的應用與最佳化實踐

流批一體是今年比較火的一個方向,在一個引擎裡同時支援低延遲的流處理和高效能的批處理,可以做到架構統一,程式碼複用,降低使用者使用成本,同時避免流批割裂帶來的口徑不統一的問題。目前部分業務場景已經落地。

第二個方向就是提高穩定性。Flink任務恢復機制有較大的開銷,無論是全部重啟還是region重啟,都會對業務有一定的影響。如何在容器環境下進一步提高任務恢復的速度,減少對業務的影響,是我們努力的一個方向。

第三個方向是智慧運維,如何做到對任務的智慧診斷,根據作業執行情況進行引數自動調整、彈性伸縮等,這是我們目前正在進行中的工作。

第四個方向是AI的探索實現。AI也是目前比較火的一個方向,如何結合Flink更好地實現AI實時化、智慧化的場景也是我們將來要發力的一個方向。

今天的分享就到這裡,謝謝大家。



在文末分享、點贊、在看,給個3連擊唄~



分享嘉賓:

峰值6億/秒,Flink在京東的應用與最佳化實踐

分享嘉賓:付海濤 京東 技術專家

編輯整理:蘇文進 怪獸充電

出品平臺:DataFunTalk

分類: 娛樂
時間: 2022-01-01

相關文章

李一桐5年拍20部戲,合作鄧倫等多位頂流,“不紅體質”卻最出圈

李一桐5年拍20部戲,合作鄧倫等多位頂流,“不紅體質”卻最出圈
#八卦手冊# 李一桐5年出演十幾部女主戲,合作多位頂流藝人,卻遲遲未能走紅--引言 說起當今圈內具有"不紅體質"的女藝人,很多小夥伴第一時間便想起了女演員李一桐,這位從2016年主 ...

比鋰電池便宜、儲量更豐富!巨頭紛紛佈局新賽道

比鋰電池便宜、儲量更豐富!巨頭紛紛佈局新賽道
來源:河南廣電-映象網 近年來,得益於新能源汽車產業的迅速發展,動力電池市場全面爆發,除了已被廣泛應用的主流代表鋰電池之外,鈉電池的橫空出世,再度攪熱了新型電池市場. 鈉離子電池走紅 鋰電巨頭佈局新賽 ...

李一桐扮80年代女生,穿印花裙配短髮溫婉動人,好有年代感

李一桐扮80年代女生,穿印花裙配短髮溫婉動人,好有年代感
很多女人都對印花裙沒有抵抗力,但是生活中能詮釋好印花裙造型的人卻很少.因為印花裙選款不當,很容易加重人的老氣感.只有把握好印花樣式,還有整體的配色,才可能顯得青春時髦. 輕熟女穿衣搭配時,不僅希望展現 ...

10月11日四大證券報精華摘要:各方搶灘北交所新賽道 業界預計最快10月底開市
[證券日報] 10月9日,北京證券交易所(下稱"北交所")開展了開市第二次全網測試.<證券日報>記者從接近監管層人士處獲悉,全市場98家證券公司.10家資訊商和8家基金 ...

李一桐古裝真美,《媚者無疆》中的她柔情似水,一笑嫣然

李一桐古裝真美,《媚者無疆》中的她柔情似水,一笑嫣然
李一桐,90後小生,演技還是可圈可點的,<媚者無疆>中被她的演技所征服,這部古裝劇中的扮相也很美,柔情似水,一笑嫣然,下面來欣賞她的劇照吧-

《奔跑吧,黃河篇2》官宣,路透曝光,新成員白鹿活力亮相

《奔跑吧,黃河篇2》官宣,路透曝光,新成員白鹿活力亮相
9月26日,楊穎在自己的社交平臺發文稱,"凌晨四點看到了蔬菜動物園,農夫辛苦了." 據悉,<奔跑吧,黃河>第二季在壽光錄製.路透圖中我們也看到該節目全新的MC陣容,如官 ...

首發丨「Yesoul野小獸」完成過億元A輪融資,小米領投佈局未來十年新賽道
創業邦獲悉,家庭健身科技品牌Yesoul野小獸近日已完成過億元人民幣A輪融資,由小米集團領投,順為資本與清科創投跟投,TEM資本與青桐資本擔任本輪財務顧問.隨著小米集團的投資,野小獸也正式成為小米生態 ...

又一個萬億成長空間新賽道,電驅動系統的這幾家核心公司不可忽視

又一個萬億成長空間新賽道,電驅動系統的這幾家核心公司不可忽視
汽車產業正在發生百年變革,電動汽車大有趕超燃油汽車之勢.不論未來普及的是純電動,還是插電混動,也不管最後這些大的汽車廠商使用的是是三元電池,還是磷酸鐵鋰電池,每輛新能源汽車都需要電驅動系統實現動力輸出 ...

瞄準智慧財產權服務新賽道:法智金獲逾億元天使融資
隨著數字經濟蓬勃,越來越多企業家與個人富豪對智慧財產權服務的投資興趣日益增加. 記者獨家獲悉,圍繞智慧財產權服務開展技術創新的公司--法智金集團獲得逾億元天使輪融資,投資方主要是多位知名企業家與個人富 ...

正在劇烈爆發的醫美新賽道,中國藥妝龍頭,貝泰妮,下一個愛美客

正在劇烈爆發的醫美新賽道,中國藥妝龍頭,貝泰妮,下一個愛美客
點讚了的2021發財,關注的年年發大財! 本文是<價值事務所>的原創文章,第725篇. 都知道醫療是極好的賽道,各種10倍股,100倍股,但也是公認的複雜難學.現在,可能是你能找到的,最好 ...

2022新高考數學模擬題分類彙編

2022新高考數學模擬題分類彙編
資料特點: 1.教師版+學生版,多場景使用. 2.word可編輯,最新題型和考點全覆蓋. 3.免費領取!(重點) 免費領取方式: 1.點贊關注. 2.評論區評論"新高考試題".

2022年考研有調整,部分考生想上岸更容易,高學歷時代即將到來

2022年考研有調整,部分考生想上岸更容易,高學歷時代即將到來
根據不完全統計,2021年研究生錄取人數為110萬,去掉博士生及推免生人數,碩士研究生的報錄比大約為4.35:1,也就是4.35人考研只能錄取1人,這是平均水平. 從高校所設的專業上來看,一些熱門專業 ...

新研究:空閒時間太多不一定更幸福

新研究:空閒時間太多不一定更幸福
一年到頭忙得團團轉的人總是想,要是有一天能閒下來就好了.然而終日無所事事的人卻也並不快樂.那麼每天休息多長時間最幸福?科學家的最新研究給出了答案. [Photo/Unsplash] Feeling o ...

20萬級SUV詳細對比,日產新奇駿和第五代途勝L,誰更適合家用?

20萬級SUV詳細對比,日產新奇駿和第五代途勝L,誰更適合家用?
隨著時代的發展,汽車已經成為日常生活中最重要的交通工具,如今已經普及到每個家庭.在眾多車型中,轎車和SUV是家用車的首選車型,其中轎車是最早在國內流行的,當初都是以行政車輛的形象出現,直至二胎政策的開 ...

新研究:空閒時間太多不一定更幸福 New study reveals how much free time you may need to be happier

新研究:空閒時間太多不一定更幸福 New study reveals how much free time you may need to be happier
來源:中國日報網 一年到頭忙得團團轉的人總是想,要是有一天能閒下來就好了.然而終日無所事事的人卻也並不快樂.那麼每天休息多長時間最幸福?科學家的最新研究給出了答案. [Photo/Unsplash] ...

國家釋出“適老化”家電新標準,共享之家助力養老生活更智慧化

國家釋出“適老化”家電新標準,共享之家助力養老生活更智慧化
隨著我國人口老齡化的加快,國家越來越高度重視養老和產品適老化問題.據第七次全國人口普查資料顯示,我國60歲及以上人口達到人口總數的18.7%,65歲及以上人口達到13.5%. 智慧家電越來越" ...

四公司試水科創板詢價新規:有效報價區間擴大 買賣雙方博弈更趨均衡
10月10日晚間,中自科技.凱爾達.匯宇製藥三單科創板IPO專案披露完成詢價定價,加上9月28日首單按照新規則詢價的高鐵電氣,目前在規則調整後科創板已有4單IPO完成了詢價定價. 市場觀察人士認為,從 ...

荷蘭新研究:7招幫帕金森患者更快康復

荷蘭新研究:7招幫帕金森患者更快康復
來源:生命時報 治癒帕金森可能性極低,但如患者得到及時有效的治療,病情將有明顯改善.近日,荷蘭內梅亨大學醫學中心發表在<神經病學>雜誌的最新研究提出了7個幫助帕金森患者康復的針對性策略. ...