国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

vivo 實時計算平臺建設實踐

開發
vivo 實時計算平臺是 vivo 實時團隊基于 Apache Flink 計算引擎自研的覆蓋實時流數據接入、開發、部署、運維和運營全流程的一站式數據建設與治理平臺。

一、vivo 實時計算業務現狀

2022年,vivo互聯網在網用戶總數達到2.8億,多款互聯網應用的日活超過了千萬甚至突破了1億,為了向用戶提供優質的內容和服務,我們需要對如此大規模的用戶所產生的海量數據進行實時處理,幫助我們進行運營決策、精準推薦、提升終端用戶體驗,同時通過提升我們的商業化能力為廣告主提供更加優質的廣告服務。

圖片

近幾年,大數據實時計算技術和公司的實時數據業務都在飛速發展,截止到今年8月,vivo實時計算每日處理數據量達到5PB,有效任務數超過4000,目前已接入98個項目,從趨勢上來看,每年都有超過100%的規模增長,如此大的業務規模和業務增速給我們實時計算團隊帶來的非常大的挑戰。首先,我們要確保業務的穩定,高速增長的數據、復雜的業務場景和系統架構需要我們自底向上的全方位的穩定性建設;為了幫助用戶快速落地業務,我們需要降低開發門檻,提供良好的易用性和覆蓋各種場景的功能特性,業務的高效接入和運維能帶來長期的降本收益。同時,大規模的數據和計算我們也希望能夠以盡可能低的成本去運行,這就需要我們提供高效的存儲、計算能力,并且對于許多關鍵業務,實時計算時效性保障的要求也非常高。在復雜的數據環境中要保障數據安全需要有非常良好的且具有前瞻性的設計,優秀的安全能力需要能夠提前防范可能的風險。

圖片

我們從2019年下半年啟動了實時計算平臺的建設,2020年關注在穩定性建設,初步上線了SQL能力,2021年引入了Flink 1.13版本并啟動了容器化建設,2022年主要關注在效率提升,包括流批一體、任務診斷等,到目前為止,我們平臺已初步具備了一些能力,所以今天我代表我們團隊簡單給大家介紹一下我們的平臺建設實踐。

二、實時計算平臺建設實踐

圖片

從我們大數據平臺的體系架構上來看,我們通過匯聚層能力收集整個vivo互聯網的埋點、服務器日志,通過計算、存儲、分析等能力從海量數據中挖掘出業務價值。實時計算作為平臺的核心能力之一,它同時滿足了大規模數據計算和高時效計算的需求,我們通過實時計算平臺來承載和向業務提供這方面的能力。

vivo實時計算平臺是基于Apache Flink計算引擎自研的覆蓋實時流數據接入、開發、部署、運維和運營全流程的一站式數據建設與治理平臺。接下來我會從基礎服務建設、穩定性建設、易用性建設、效率提升和安全能力建設五個方面來介紹我們團隊的建設思路和實踐過程。

2.1 基礎服務建設

圖片

我們自研的實時平臺后端架構包括兩個核心服務

  • SubmissionServer:負責作業的提交,以及跟資源管理系統的交互,具備高可用、高可擴展能力,支持多版本Flink和多種任務類型。
  • ControlServer:負責任務運行狀態的維護,我們定義了9種任務狀態,通過一個內置狀態機進行實時的狀態維護,狀態的更新延遲在秒級。

基礎服務還包括統一的元數據服務和實時的監控告警服務。這兩個部分做一下簡單介紹。

圖片

我們使用HiveMetaStore作為元數據基礎服務,基于TIDB的擴展能力,當前元數據實體規模已達到億級,通過對MetaStore服務的優化,大分區表操作性能提升了10倍,目前已接入Spark、Hive、Flink、Presto等引擎,同時,統一的權限控制、數據分類分級、數據血緣、元數據變更記錄等能力也為數據治理提供了良好的基礎。

圖片

我們基于Flink的CEP能力構建了一套秒級延遲、支持動態規則配置的監控告警系統,同時從基礎設施、基礎服務、實時任務和業務多個維度構建了全方位的監控體系。以上這三個方面構成了我們的基礎服務。基礎服務都具備高可用特性,但是要保障業務穩定,還需要關注整個系統以及在系統上運行的業務數據鏈路,這里最重要的有兩個方面:大數據組件服務的穩定性和任務本身的穩定性。

2.2 穩定性建設

圖片

我們使用HDFS作為狀態的持久存儲和業務數據落地的存儲,隨著存儲規模和讀寫量的增長,我們遇到了DataNode的StaleNode問題、低版本HDFS流式寫無法恢復問題和越來越嚴重的小文件問題,為此我們通過平滑升級HDFS到3版本、優化Flink Sink性能和基于Spark3建設小文件合并服務來解決這些問題。

Kafka是主要的流存儲組件,但是在集群運維上存在一些痛點,比如擴縮容和節點硬件故障會導致資源不均衡和消費生產的異常,Kafka團隊建設了流量均衡和動態限流能力,顯著提升了Kafka服務的穩定性,同時我們也提升了Flink對Kafka Broker重啟的容忍度,能夠有效減少Broker故障對運行任務帶來的影響。

另外,Flink任務的高可用依賴于Zookeeper,為了避免ZK leader切換對實時作業的影響,我們對1.10和1.13版本的Flink進行了容忍度增強,對更低版本的任務做了版本升級,也根據社區經驗優化了Flink HA部分的功能,以及加強了對ZK的全面監控和治理,保障了ZK的穩定性。

通過這些對相關組件的優化措施減少了任務異常時間和次數,有效的提升了任務穩定性。接下來介紹一下我們針對某種特定場景的Flink任務穩定性優化實踐。

圖片

在內容實時推薦場景,產生自在線預估服務的用戶特征快照需要與用戶實時數據進行拼接,由于數據量巨大在做Join時需要一個大緩存,相比于原來采用Redis作為緩存的方案,Flink的RocksDB狀態后端是一個更合適的方案,但是在狀態大小達到TB級別時,任務穩定性很難保障。我們基于對RocksDB內存模型的深刻理解,擴展原生監控指標,升級RocksDB版本,建設了狀態治理相關能力,把任務穩定性提升到了生產可用級別。在多個業務場景上線后,樣本和模型的時效性和穩定性得到保障,推薦效果得到很大提升。

后續我們規劃通過增加讀緩存和優化前綴匹配策略進一步提升RocksDB狀態后端的性能。

圖片

我們一直在思考如何進一步提升業務的穩定性,相對于任務的穩定性我們的用戶更加關心他們所需要的數據是否準時、數據質量是否符合預期,而任務的穩定不完全等同于時效和質量。在時效這個維度我們定義了數據準時率的SLI指標,這對我們有兩方面的指引:更自動化和精細化的故障分級保障和流計算的彈性能力的建設。其中前者正在建設中,后者也在我們的規劃之中。

2.3 易用性建設

圖片

實時作業開發角度,我們提供了功能完善、體驗良好的FlinkSQL開發環境。相比于社區版本Flink,我們對SQL能力進行了擴展,比如更加可控的窗口計算觸發功能,兼容性更強的DDL功能,更加方便的流表創建功能,我們對Format、Connector、UDF都做了一些擴展和優化,適用于更多業務場景,提升了性能;同時我們建設了運行于Standalone集群的SQL調試能力,具備數據抽樣、上傳、DAG圖展示、調試結果實時展示等功能。經過一年的建設,新增SQL運行任務占比從5%提升到了60%。

圖片

實時作業運維角度,我們提供了實時全鏈路的血緣與延遲監控功能。為了實現數據業務,實時計算鏈路往往是很長的,而一個團隊一般只負責其中一段,為了解決鏈路中出現的問題,可能需要上下游多個團隊配合,效率很低。我們作為平臺團隊為用戶提供了一個全局的視角,這樣可以迅速定位到異常任務節點,非常高效。血緣數據可以實時生成,并且不需要任務的重啟,因此不存在血緣不全的問題。同時,我們也可以輸出端到端全鏈路延遲數據和任務處理延遲數據,幫助我們的用戶做質量監控。

2.4 效率提升

圖片

今年,降本提效是我們的重點工作方向,我們從計算、存儲和資源治理三個方面做了一些工作,取得初步效果。YARN資源管理的粒度較大,而K8s更精細的資源粒度從整體上來看可以有效提升資源利用效率。YARN雖然開啟了cgroups,但是對系統資源的隔離能力仍然較弱,個別異常任務耗盡機器資源可能影響正常運行的任務。因此平臺支持了K8s的資源管理能力,借助于Flink社區提供的Native K8s特性以及平臺良好的可擴展性,我們當前支持JAR任務的容器化部署,并且通過在開發、運維、資源交付等方面的建設確保了用戶體驗與YARN是一致的。借助于容器化,我們可以確保開發、測試、線上等環境的一致性,研發效率也得到提升。目前已接入3個業務,明年會比較大規模的應用。

圖片

多年以來,大數據領域在發展過程中形成了批和流兩套架構并存的現狀,很多時候,業務在落地過程中不得不同時考慮和投入建設兩套鏈路。比如離線數倉和實時數倉獨立建設,數據口徑和計算結果的一致性保障需要付出額外的努力,Hive表不支持數據更新、探查較慢,Kafka數據回溯和查詢困難等問題也一直困擾著數據開發人員。

圖片

幸運的是,業界已經探索出來基于數據湖組件在分布式存儲之上構建流批統一存儲的技術,我們根據vivo的業務特點選擇并設計了我們的流批一體方案,目前已經完成基于Hudi的統一存儲引擎、基于Flink的統一入湖、基于HMS的統一元數據建設,目前業務已經完成試用并開始接入。今年我們主要接入實時業務,明年會有離線業務的接入。這也是我們大數據平臺構建湖倉一體很重要的一步。

圖片

在長期的實時作業運維過程中,我們積累的大量作業調優和問題解決經驗,隨著運維壓力的增加,我們在思考如何提升運維效率。我們也發現用戶資源隊列用滿的同時,機器的CPU利用率卻處于較低水平,因此我們思考如何減少資源浪費,提升集群的資源利用效率。資源診斷和異常診斷這兩類問題都是作業優化問題,要優化作業,首先需要掌握作業及其運行環境的信息,包括運行指標、運行日志、GC日志、依賴組件運行狀況、操作系統進程級別信息,以及作業配置、環境配置等等,然后需要將運維經驗和思路轉化為啟發式算法的規則和數據,運用這些數據、算法和規則去找到優化的方法。基于這個思路,我們建設了一個診斷服務,具備靈活的信息收集、規則配置、數據調優功能,能夠在作業啟動或運行時,診斷作業的健康程度,提供一些作業的優化建議給我們的用戶。目前資源診斷能力已經在運行,異常診斷還在建設中。

2.5 安全能力建設

圖片

作為一個基礎的大數據服務,安全在我們看來是一個非常重要的命題,因此我們在系統設計之初就考慮了實時數據訪問、離線數據讀寫、各個系統與服務之間的安全隔離能力等方面的設計,在實時數倉具備一定規模后,我們又建設了數據分類分級、日志審計等能力。去年,根據最新的合規要求,離線存儲支持了列級別透明加密,實時數據支持了敏感字段自動檢測等能力。安全無止境,我們也在對DSMM進行研究解讀,以持續提升大數據的安全能力。

以上是我們平臺建設的一些實踐,總結來看,我們基于Flink建設了功能比較完善的實時計算開發和運維能力,業務復雜度越來越高,我們的挑戰還有很多,比如Flink引擎的優化與難點問題的解決、計算效率的進一步提升、流批一體、容器化的大規模應用等,都是我們后續的重點方向。

前面有提到,基于實時計算平臺,公司的多個中臺團隊建設了五大中臺能力,覆蓋了各種各樣的實時場景,這里就跟大家簡單分享下其中兩個典型場景。

三、應用場景簡介

3.1 實時數倉

圖片

vivo大數據團隊基于vStream平臺建設的實時數倉服務覆蓋了應用分發、內容分發、產品平臺、商業化等多個業務線的報表、營銷、推薦、決策、廣告等多種應用場景。實時數倉沿用了離線數倉的邏輯分層理論,從數據源經過采集和ETL進入到ODS層,然后經過維度擴展、過濾、轉換等操作進入到DWD明細層,然后是輕度聚合層DWS,最后按照主題或業務需求計算出結果指標存入ClickHouse等OLAP引擎成為ADS層,為業務提供數據報表、接口或者數據服務。與離線有所不同的是,實時數據受限于數據達到時間或業務對數據的要求,可能會有層次的裁剪,因此實時數倉也提供了中間層開放的能力。

實時數倉的一部分維度表與離線是共用的,并且為了與離線鏈路保證一致的數據口徑需要將Kafka流表落地到Hive表進行數據的比對,離線與實時的互操作不是很方便,因此,數倉團隊已經開始基于流批一體能力建設準實時的數據鏈路。然后我們看一下,實時計算是如何應用在內容推薦場景的。

3.2 短視頻實時內容推薦

圖片

vivo短視頻是一個很火的應用,為了給到用戶高質量的視頻內容推薦,特別依賴于推薦模型的時效性以及用戶特征計算的時效性,為了做到實時的模型訓練,需要有實時的樣本數據。因此實時特征計算和樣本拼接在內容推薦里面扮演了很重要的角色,vStream平臺提供的TB級別超大狀態任務能力支撐了短視頻以及許多其他應用的實時樣本拼接任務。同時我們也可以看到,在這個方案里,特征和樣本都同時存在離線和實時兩條鏈路,這是因為Flink的批計算能力目前還沒有Spark成熟,基于Kafka的實時計算難以做到數據回溯,站在我們大數據平臺的角度,一方面我們希望能夠減少重復的計算和存儲,另一方面也希望平臺的用戶能夠不需要重復開發計算和回溯的代碼。在業界廣泛討論的湖倉一體架構,很重要的一個方面就是為了解決這些問題。在后面的部分,我們會再聊一聊湖倉一體。

實時計算的應用場景有很多,但本質上來說它的目的跟離線計算是一樣的,就是為業務提供數據支持。從前面的介紹可以看到,當前基于Hadoop的大數據平臺組件繁多、架構復雜、流批重復、資源效率較低,那么我們有沒有辦法或者說有沒有希望改變這種現狀呢?我認為是有的,最后分享一下我們對未來的一些探索和展望。

四、探索與展望

圖片

我們知道,業務是彈性的,比如在一天之內總有用戶訪問的高峰和低谷,一段時間內總有業務的增長或下降。但是當前,不管是我們的數據計算任務還是YARN集群的資源分配策略,都不具備彈性,首先,任務分配的資源是固定的,并且,為了盡可能避免計算受到業務波動的影響,離線、實時和在線三種不同類型的計算分別運行在不同的物理集群。

因此我們需要如下兩種維度的彈性能力:

  • 任務級別的彈性能力,我們打算緊跟Flink社區,探索其AutoScaling特性的應用。
  • 集群級別的彈性能力,我們會采用vivo容器團隊提供的在離線混部能力來實現。

圖片

剛剛我們提到了湖倉一體,為什么需要湖倉一體呢?可以拿BI和AI兩個大數據應用領域放在一起來看,流計算、批計算、分析型計算和AI計算及其對應的存儲系統分別解決各自的問題,并且由于發展階段差異,圍繞這四種計算形式建設了大量的平臺系統和業務系統,運營這個復雜龐大的系統資源成本和人力成本都是非常高的。因此大家期望通過統一的存儲抽象、統一的計算抽象、統一的資源抽象和統一的數據管理來建設一個架構內聚、低成本、易于使用的大數據系統。大家的期望促進了云原生、數據湖、新一代計算引擎等技術的發展,這些發展也使得大家的期望更明確更一致。

責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2019-11-21 09:49:29

架構運維技術

2019-02-18 15:23:21

馬蜂窩MESLambda

2017-09-26 09:35:22

2023-11-01 07:01:45

2021-07-16 10:55:45

數倉一體Flink SQL

2022-12-29 08:56:30

監控服務平臺

2021-03-10 08:22:47

FlinktopN計算

2015-07-31 10:35:18

實時計算

2017-01-15 13:45:20

Docker大數據京東

2022-11-10 08:48:20

開源數據湖Arctic

2023-12-20 21:36:52

容器平臺服務器

2023-04-27 10:40:10

vivo容災服務器

2015-08-31 14:27:52

2023-03-30 07:40:03

FeatHub 項目特征工程開發

2018-04-11 09:36:27

演進SLA實時計算

2023-01-05 07:54:49

vivo故障定位

2015-10-09 13:42:26

hbase實時計算

2021-06-03 08:10:30

SparkStream項目Uv

2019-08-16 11:48:53

容器云平臺軟件

2020-09-11 10:19:03

騰訊云大數據數據
點贊
收藏

51CTO技術棧公眾號

日韩小视频在线观看专区| 先锋影音一区二区三区| 丰满的少妇愉情hd高清果冻传媒| 91精品久久久久久综合五月天 | 日本一区二区三区视频在线看| 亚洲一区二区三区小说| 一区二区在线中文字幕电影视频| 国产99亚洲| 久久精彩免费视频| 欧美舌奴丨vk视频| 欧美日本在线观看| 中文字幕视频在线| 中文字幕五月欧美| 宅男噜噜噜66国产免费观看| 一根才成人网| 亚洲三级性片| 精品国产不卡一区二区三区| www.久久久精品| 亚洲免费在线观看| 在线日本视频| 午夜精品123| 日韩精彩视频| 日韩制服丝袜av| 亚洲韩国在线| 国产在线视频欧美一区| 亚洲精品国产综合久久| youjizz亚洲| 国产精品一二三在线观看| 日韩av一级电影| 中文字幕人妻熟女人妻洋洋| 亚洲精品在线播放| 亚洲a∨日韩av高清在线观看| 久久av免费看| 性欧美.com| 综合久久一区| 欧美孕妇孕交黑巨大网站| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 在线精品在线| 亚洲一区二区三区777| 窝窝社区一区二区| 午夜精品福利在线观看| 99a精品视频在线观看| 欧美剧在线观看| 在线视频亚洲欧美中文| 久久久久久久久久久91| 精品国产午夜肉伦伦影院| 97超碰国产精品女人人人爽| 美女视频免费精品| 国产成人精品久久| 91中文字幕精品永久在线| 成人免费视频网址| 亚洲第一黄网| 在线国产精品网| 成人黄页毛片网站| 男人女人黄一级| 精品www久久久久奶水| 国产一区视频在线看| 九九视频这里只有精品| a欧美人片人妖| 中文字幕av一区二区三区高| 欧美日韩国产999| 欧美日韩视频免费在线观看| 亚洲天堂1区| 精品国产91洋老外米糕| 欧美aaa一级| 男女精品网站| 日韩在线视频网| 精品一卡二卡三卡| 精品成av人一区二区三区| 国产精品毛片高清在线完整版| 欧美日韩一区高清| 日本调教视频在线观看| 国产精品地址| 欧美精品日韩少妇| 宅男在线国产精品| 老司机2019福利精品视频导航| www.日韩av.com| 黑人久久a级毛片免费观看| 国产精品视频xxxx| 亚洲精品社区| 国产在线视频在线| 最新国产成人在线观看| eeuss影院www在线观看| 亚洲夜晚福利在线观看| 日韩影视高清在线观看| 久久精品国产一区二区三区不卡| 激情综合网天天干| 97干com| 欧美在线不卡一区| 欧美日韩尤物久久| 国产精品久久久久久久久男| 永久91嫩草亚洲精品人人| 亚洲综合五月天| 亚洲婷婷在线视频| free性欧美| 7777精品视频| 蜜桃av噜噜一区| 91骚色在线| 亚洲国语精品自产拍在线观看| 欧美巨大xxxx| 亚洲国产一区二区三区在线| 亚洲欧洲av一区二区三区久久| 最爽无遮挡行房视频在线| 九九热视频这里只有精品| 夜夜夜久久久| 少妇一级淫免费播放| 精品区一区二区| 日韩中文字幕高清在线观看| 欧美高清中文字幕| 在线电影一区二区三区| 天堂av一区二区三区在线播放| 四虎永久国产精品| 亚洲成人免费av| 久久电影天堂| 欧美污视频久久久| 午夜精品aaa| 日本一区二区三区电影免费观看| 四虎永久在线精品免费一区二区| 亚洲天堂成人网| 美女在线视频一区二区| 成人av色在线观看| 国产日韩欧美不卡在线| 国内视频在线精品| 精品人妻人人做人人爽| 一区二区三区在线免费观看| av色综合久久天堂av色综合在| 日本精品视频网站| 国产日韩精品一区| 豆花视频一区二区| 亚洲色图自拍| 91免费看`日韩一区二区| 女人天堂av在线播放| 亚洲电影免费观看高清| 国产精品字幕| 久久av一区二区三区漫画| 91九色精品国产一区二区| 91免费看网站| 国产亚洲视频系列| 希岛爱理一区二区三区| 99热99热| 亚洲老司机在线| 国产精品国产三级在线观看| 清纯唯美一区二区三区| 色呦呦网站一区| 天堂综合网久久| 亚洲欧洲日产国码无码久久99| 亚洲国内精品视频| 三级不卡在线观看| 日本在线www| 国产乱码精品一区二区三区中文 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 精品视频免费观看| 精品国产户外野外| 欧美高清在线| 午夜成人影视| 91美女福利视频高清| 舔着乳尖日韩一区| 水蜜桃久久夜色精品一区| 亚洲成人基地| 91在线播放视频| 欧美日韩国产精选| 日韩中文字幕亚洲一区二区va在线 | 久久先锋影音av鲁色资源网| 欧美成a人片免费观看久久五月天| 中文字幕第一页亚洲| 日韩精品极品在线观看| 国产精品99久久久久久有的能看| 三级成人在线| 国产精品333| 久99久在线视频| 亚洲欧美一区二区视频| 久久视频国产| 国内外激情在线| 综合网五月天| 美日韩精品免费观看视频| 欧美国产日本韩| 欧美疯狂party性派对| 无遮挡的视频在线观看| 亚洲一卡二卡| 久久亚洲精品成人| 亚洲精品综合在线| 国色天香一区二区| 理论不卡电影大全神| 黄色免费视频大全| 青草青草久热精品视频在线网站| 日韩欧美国产成人| 麻豆成人91精品二区三区| 日韩城人网站| 成年人视频免费看| 精品国产一区二区三区四区精华| 日韩av在线一区| 国产精品女同一区二区三区| 91精品国产视频| 日韩伦理精品| www.97| 亚洲 日韩 国产第一区| 欧美精品videossex88| 91久久香蕉国产日韩欧美9色| 国产乱妇无码大片在线观看| 国产成人影院|