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

58同城實(shí)時(shí)計(jì)算平臺(tái)架構(gòu)實(shí)踐

新聞 架構(gòu)
本文主要介紹58同城實(shí)時(shí)計(jì)算平臺(tái)技術(shù)演進(jìn),以及基于Flink打造的一站式實(shí)時(shí)計(jì)算平臺(tái)Wstream,涵蓋很多實(shí)踐經(jīng)驗(yàn)、干貨和方法論,希望對您有所幫助。

 導(dǎo)語

本文主要介紹58同城實(shí)時(shí)計(jì)算平臺(tái)技術(shù)演進(jìn),以及基于Flink打造的一站式實(shí)時(shí)計(jì)算平臺(tái)Wstream,涵蓋很多實(shí)踐經(jīng)驗(yàn)、干貨和方法論,希望對您有所幫助。

背景

58同城作為覆蓋生活全領(lǐng)域的服務(wù)平臺(tái),業(yè)務(wù)覆蓋招聘、房產(chǎn)、汽車、金融、二手及本地服務(wù)等各個(gè)方面。 豐富的業(yè)務(wù)線和龐大的用戶數(shù)每天產(chǎn)生海量用戶數(shù)據(jù)需要實(shí)時(shí)化的計(jì)算分析,實(shí)時(shí)計(jì)算平臺(tái)定位于為集團(tuán)海量數(shù)據(jù)提供高效、穩(wěn)定、分布式實(shí)時(shí)計(jì)算的基礎(chǔ)服務(wù)。 本文主要介紹58同城基于Flink打造的一站式實(shí)時(shí)計(jì)算平臺(tái)Wstream。

實(shí)時(shí)計(jì)算場景

和很多互聯(lián)網(wǎng)公司一樣,實(shí)時(shí)計(jì)算在58擁有豐富的場景需求,主要包括以下幾類:

1.實(shí)時(shí)數(shù)據(jù)ETL

實(shí)時(shí)消費(fèi)Kafka數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換、結(jié)構(gòu)化處理用于下游計(jì)算處理。

2.實(shí)時(shí)數(shù)倉

實(shí)時(shí)化數(shù)據(jù)計(jì)算,倉庫模型加工和存儲(chǔ)。 實(shí)時(shí)分析業(yè)務(wù)及用戶各類指標(biāo),讓運(yùn)營更加實(shí)時(shí)化。

3.實(shí)時(shí)監(jiān)控

對系統(tǒng)和用戶行為進(jìn)行實(shí)時(shí)檢測和分析,如業(yè)務(wù)指標(biāo)實(shí)時(shí)監(jiān)控,運(yùn)維線上穩(wěn)定性監(jiān)控,金融 風(fēng)控等。

4.實(shí)時(shí)分析

特征平臺(tái),用戶畫像,實(shí)時(shí)個(gè)性化推薦等。

平臺(tái)演進(jìn)

独家|58同城实时计算平台架构实践

在實(shí)時(shí)計(jì)算平臺(tái)建設(shè)過程中,主要是跟進(jìn)開源社區(qū)發(fā)展以及實(shí)際業(yè)務(wù)需求,計(jì)算框架經(jīng)歷了Storm到 Spark Streaming到 Flink的發(fā)展,同時(shí)建設(shè)一站式實(shí)時(shí)計(jì)算平臺(tái),旨在提升用戶實(shí)時(shí)計(jì)算需求開發(fā)上線管理監(jiān)控效率,優(yōu)化平臺(tái)管理。

實(shí)時(shí)計(jì)算引擎前期基于Storm和Spark Streaming構(gòu)建,很多情況下并不能很好的滿足業(yè)務(wù)需求,如商業(yè)部門基于Spark Streaming構(gòu)建的特征平臺(tái)希望將計(jì)算延遲由分鐘級(jí)降低到秒級(jí),提升用戶體驗(yàn),運(yùn)維監(jiān)控平臺(tái)基于Storm分析公司全量nginx日志對線上業(yè)務(wù)進(jìn)行監(jiān)控,需要秒級(jí)甚至毫秒級(jí)別的延遲,Storm的吞吐能力成為瓶頸。 同時(shí)隨著實(shí)時(shí)需求不斷增加,場景更加豐富,在追求任務(wù)高吞吐低延遲的基礎(chǔ)上,對計(jì)算過程中間狀態(tài)管理,靈活窗口支持,以及exactly once語義保障的訴求越來越多。 Apache Flink開源之后,支持高吞吐低延遲的架構(gòu)設(shè)計(jì)以及高可用的穩(wěn)定性,同時(shí)擁有實(shí)時(shí)計(jì)算場景一系列特性以及支持實(shí)時(shí)Sql模型,使我們決定采用 Flink作為新一代實(shí)時(shí)計(jì)算平臺(tái)的計(jì)算引擎。

平臺(tái)規(guī)模

独家|58同城实时计算平台架构实践

實(shí)時(shí)計(jì)算平臺(tái)當(dāng)前主要基于Storm/Spark Streaming/Flink,集群共計(jì)500多臺(tái)機(jī)器,每天處理數(shù)據(jù)量6000億+,其中Flink經(jīng)過近一年的建設(shè),任務(wù)占比已經(jīng)達(dá)到50% 。

Flink穩(wěn)定性

Flink作為實(shí)時(shí)計(jì)算集群,可用性要求遠(yuǎn)高于離線計(jì)算集群。 為保障集群可用性,平臺(tái)主要采用任務(wù)隔離以及高可用集群架構(gòu)保障穩(wěn)定性。

任務(wù)隔離  

在應(yīng)用層面主要基于業(yè)務(wù)線以及場景進(jìn)行機(jī)器隔離,隊(duì)列資源分配管理,避免集群抖動(dòng)造成全局影響。

独家|58同城实时计算平台架构实践

集群架構(gòu)

Flink集群采用了ON YARN模式獨(dú)立部署,為減少集群維護(hù)工作量,底層HDFS利用公司統(tǒng)一HDFS Federation架構(gòu)下建立獨(dú)立的namespace,減少Flink任務(wù)在checkpoint采用hdfs/rocksdb作為狀態(tài)存儲(chǔ)后端場景下由于hdfs抖動(dòng)出現(xiàn)頻繁異常失敗。 在資源隔離層面,引入Node Label機(jī)制實(shí)現(xiàn)重要任務(wù)運(yùn)行在獨(dú)立機(jī)器,不同計(jì)算性質(zhì)任務(wù)運(yùn)行在合適的機(jī)器下,最大化機(jī)器資源的利用率。 同時(shí)在YARN資源隔離基礎(chǔ)上增加Cgroup進(jìn)行物理cpu隔離,減少任務(wù)間搶占影響,保障任務(wù)運(yùn)行穩(wěn)定性。

独家|58同城实时计算平台架构实践

平臺(tái)化管理

Wstream是一套基于Apache Flink構(gòu)建的一站式、高性能實(shí)時(shí)大數(shù)據(jù)處理平臺(tái)。 提供SQL化流式數(shù)據(jù)分析能力,大幅降低數(shù)據(jù)實(shí)時(shí)分析門檻,支持通過DDL實(shí)現(xiàn)source/sink以及維表,支持UDF/UDAF/UDTF,為用戶提供更強(qiáng)大的數(shù)據(jù)實(shí)時(shí)處理能力。 支持多樣式應(yīng)用構(gòu)建方式FlinkJar/Stream SQL/Flink-Storm,以滿足不同用戶的開發(fā)需求,同時(shí)通過調(diào)試,監(jiān)控,診斷,探查結(jié)果等輔助手段完善任務(wù)生命周期管理。

独家|58同城实时计算平台架构实践

流式sql能力建設(shè)

Stream SQL是平臺(tái)為了打造sql化實(shí)時(shí)計(jì)算能力,減小實(shí)時(shí)計(jì)算開發(fā)門檻,基于開源的 Flink,對底層sql模塊進(jìn)行擴(kuò)展實(shí)現(xiàn)以 下功能

 1.支持自定義DDL語法(包括源表,輸出表,維表)

 2.支持自定義UDF/UDTF/UDAF語法

 3.實(shí)現(xiàn)了流與維表的join,雙流join

在支持大數(shù)據(jù)開源組件的同時(shí),也打通了公司主流的實(shí)時(shí)存儲(chǔ)平臺(tái)。 同時(shí)為用戶提供基于Sql client的cli方式以及在Wstream集成了對實(shí)時(shí)sql能力的支持,為用戶提供在線開發(fā)調(diào)試sql任務(wù)的編輯器,同時(shí)支持代碼高亮,智能提示,語法校驗(yàn)及運(yùn)行時(shí)校驗(yàn),盡可能避免用戶提交到集群的任務(wù)出現(xiàn)異常。 另外也為用戶提供了向?qū)Щ渲梅绞剑鉀Q用戶定義table需要了解復(fù)雜的參數(shù)設(shè)置,用戶只需關(guān)心業(yè)務(wù)邏輯處理,像開發(fā)離線Hive一樣使用sql開發(fā)實(shí)時(shí)任務(wù)。

独家|58同城实时计算平台架构实践

Storm任務(wù)遷移Flink

在完善Flink平臺(tái)建設(shè)的同時(shí),我們也啟動(dòng)Storm任務(wù)遷移Flink計(jì)劃,旨在提升實(shí)時(shí)計(jì)算平臺(tái)整體效率,減少機(jī)器成本和運(yùn)維成本。 Flink-Storm作為官方提供Flink兼容Storm程序?yàn)槲覀儗?shí)現(xiàn)無縫遷移提供了可行性,但是作為beta版本,在實(shí)際使用過程中存在很多無法滿足現(xiàn)實(shí)場景的情況,因此我們進(jìn)行了大量改進(jìn),主要包括實(shí)現(xiàn)Storm任務(wù)on yarn ,遷移之后任務(wù)at least once語義保障,兼容Storm的 tick tuple機(jī)制等等。

独家|58同城实时计算平台架构实践

通過對Fink-Storm的優(yōu)化,在無需用戶修改代碼的基礎(chǔ)上,我們已經(jīng)順利完成多個(gè)Storm版本集群任務(wù)遷移和集群下線,在保障實(shí)時(shí)性及吞吐量的基礎(chǔ)上可以節(jié)約計(jì)算資源40%以上,同時(shí)借助yarn統(tǒng)一管理實(shí)時(shí)計(jì)算平臺(tái)無需維護(hù)多套Storm集群,整體提升了平臺(tái)資源利用率,減輕平臺(tái)運(yùn)維工作量。

任務(wù)診斷 

指標(biāo)監(jiān)控

Flink webUI 提供了大量的運(yùn)行時(shí)信息供用戶了解任務(wù)當(dāng)前運(yùn)行狀況,但是存在無法獲取歷史metrics的問題導(dǎo)致用戶無法了解任務(wù)歷史運(yùn)行狀態(tài),因此我們采用了Flink原生支持的Prometheus進(jìn)行實(shí)時(shí)指標(biāo)采集和存儲(chǔ),Prometheus是一個(gè)開源的監(jiān)控和報(bào)警系統(tǒng),通過pushgateway的方式實(shí)時(shí)上報(bào)metrics,Prometheus集群采用Fedration部署模式,meta節(jié)點(diǎn)定時(shí)抓取所有子節(jié)點(diǎn)指標(biāo)進(jìn)行匯總,方便統(tǒng)一數(shù)據(jù)源提供給Grafana進(jìn)行可視化以及告警配置。

独家|58同城实时计算平台架构实践

任務(wù)延遲

吞吐能力和延遲作為衡量實(shí)時(shí)任務(wù)性能最重要的指標(biāo),我們經(jīng)常需要通過這兩個(gè)指標(biāo)來調(diào)整任務(wù)并發(fā)度和資源配置。 Flink Metrics提供latencyTrackingInterval參數(shù)啟用任務(wù)延遲跟蹤,打開會(huì)顯著影響集群和任務(wù)性能,官方高度建議只在debug下使用。 在實(shí)踐場景下,F(xiàn)link任務(wù)數(shù)據(jù)源基本都是Kafka,因此我們采用topic消費(fèi)堆積作為衡量任務(wù)延遲的指標(biāo),監(jiān)控模塊實(shí)時(shí)通過Flink rest獲取任務(wù)正在消費(fèi)topic的offset,同時(shí)通過Kafka JMX獲取對應(yīng)topic的logsize,采用logsize– offset作為topic的堆積。

独家|58同城实时计算平台架构实践

日志檢索

Flink 作為分布式計(jì)算引擎,所有任務(wù)會(huì)由YARN統(tǒng)一調(diào)度到任意的計(jì)算節(jié)點(diǎn),因此任務(wù)的運(yùn)行日志會(huì)分布在不同的機(jī)器,用戶定位日志困難,我們通過調(diào)整log4j日志框架默認(rèn)機(jī)制,按天切分任務(wù)日志,定期清理過期日志,避免異常任務(wù)頻繁寫滿磁盤導(dǎo)致計(jì)算節(jié)點(diǎn)不可用的情況,同時(shí)在所有計(jì)算節(jié)點(diǎn)部署agent 實(shí)時(shí)采集日志,匯聚寫入Kafka,通過日志分發(fā)平臺(tái)實(shí)時(shí)將數(shù)據(jù)分發(fā)到ES,方便用戶進(jìn)行日志檢索和定位問題。

Flink優(yōu)化

在實(shí)際使用過程中, 我們也針對業(yè)務(wù)場景進(jìn)行了一些優(yōu)化和擴(kuò)展,主要包括:

1.Storm任務(wù)需要Storm引擎提供ack機(jī)制保障消息傳遞at least once語義,遷移到Flink無法使用ack機(jī)制,我們通過定制KafakSpout實(shí)現(xiàn)checkpoint相關(guān)接口,通過Flink checkpoint機(jī)制實(shí)現(xiàn)消息傳遞不丟失。 另外Flink-Storm默認(rèn)只能支持standalone的提交方式,我們通過實(shí)現(xiàn)yarn client相關(guān)接口增加了storm on yarn的支持。

2.Flink 1.6推薦的是一個(gè)TaskManager對應(yīng)一個(gè)slot的使用方式,在申請資源的時(shí)候根據(jù)最大并發(fā)度申請對應(yīng)數(shù)量的TaskManger,這樣導(dǎo)致的問題就是在任務(wù)設(shè)置task slots之后需要申請的資源大于實(shí)際資源。 我們通過在ResoureManager請求資源管理器SlotManager的時(shí)候增加TaskManagerSlot相關(guān)信息 ,用于維護(hù)申請到的待分配TaskManager和slot,之后對于SlotRequests請求不是直接申請TaskManager,而是先從SlotManager申請是否有足夠slot,沒有才會(huì)啟動(dòng)新的TaskManger,這樣就實(shí)現(xiàn)了申請資源等于實(shí)際消耗資源,避免任務(wù)在資源足夠的情況下無法啟動(dòng)。

独家|58同城实时计算平台架构实践

3.Kafak Connector改造,增加自動(dòng)換行支持,另外針對08source無法設(shè)置client.id,通過將client.id生成機(jī)制優(yōu)化成更有標(biāo)識(shí)意義的id,便于Kafka層面管控

4.Flink提交任務(wù)無法支持第三方依賴jar包和配置文件供TaskManager使用,我們通過修改flink啟動(dòng)腳本,增加相關(guān)參數(shù)支持外部傳輸文件,之后在任務(wù)啟動(dòng)過程中通過將對應(yīng)的jar包和文件加入classpath,借助yarn的文件管理機(jī)制實(shí)現(xiàn)類似spark對應(yīng)的使用方式,方便用戶使用

5.業(yè)務(wù)場景存在大量實(shí)時(shí)寫入hdfs需求,F(xiàn)link 自帶BucketingSink默認(rèn)只支持string和avro格式,我們在此基礎(chǔ)上同時(shí)支持了LZO及Parquet格式寫入,極大提升數(shù)據(jù)寫入性能。

后續(xù)規(guī)劃

實(shí)時(shí)計(jì)算平臺(tái)當(dāng)前正在進(jìn)行Storm任務(wù)遷移Flink集群,目前已經(jīng)基本完成,大幅提升了平臺(tái)資源利用率和計(jì)算效率。 后續(xù)將繼續(xù)調(diào)研完善Flink相關(guān)能力,推動(dòng)Flink在更多的實(shí)時(shí)場景下的應(yīng)用,包括實(shí)時(shí)規(guī)則引擎,實(shí)時(shí)機(jī)器學(xué)習(xí)等。

 

責(zé)任編輯:張燕妮 來源: 58技術(shù)
相關(guān)推薦

2022-12-29 09:13:02

實(shí)時(shí)計(jì)算平臺(tái)

2019-02-18 15:23:21

馬蜂窩MESLambda

2023-03-27 08:05:27

數(shù)字化轉(zhuǎn)型MLOps

2017-09-26 09:35:22

2021-07-16 10:55:45

數(shù)倉一體Flink SQL

2017-09-18 17:00:04

云深度學(xué)習(xí)機(jī)器學(xué)習(xí)云服務(wù)

2017-10-13 13:13:14

人工智能深度學(xué)習(xí)微博

2021-03-10 08:22:47

FlinktopN計(jì)算

2015-07-31 10:35:18

實(shí)時(shí)計(jì)算

2017-01-15 13:45:20

Docker大數(shù)據(jù)京東

2021-09-15 09:43:31

大數(shù)據(jù)架構(gòu)互聯(lián)網(wǎng)

2022-11-10 08:48:20

開源數(shù)據(jù)湖Arctic

2023-05-10 07:21:58

數(shù)據(jù)平臺(tái)架構(gòu)

2018-09-26 09:24:15

微博WAIC架構(gòu)

2015-08-31 14:27:52

2017-10-23 09:10:52

2018-04-11 09:36:27

演進(jìn)SLA實(shí)時(shí)計(jì)算

2015-10-09 13:42:26

hbase實(shí)時(shí)計(jì)算

2021-06-03 08:10:30

SparkStream項(xiàng)目Uv

2017-10-10 15:20:10

架構(gòu)數(shù)據(jù)存儲(chǔ)PB級(jí)數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

免费成人直播| 国产精品sm| 婷婷综合另类小说色区| 妞干网这里只有精品| 成人永久在线| 制服丝袜成人动漫| 美女露隐私免费网站| 琪琪一区二区三区| 91色在线观看| 欧美美女黄色| 国产亚洲精品久久久久久| 九色在线观看| 国产精品国产馆在线真实露脸| 水蜜桃一区二区三区| 欧美精品啪啪| 青青草99啪国产免费| av免费在线视| 欧美日韩精品综合在线| 诱人的瑜伽老师3hd中字| 久久久精品国产免大香伊| 亚洲欧洲日韩精品| 91精品国产91久久综合| 91成人性视频| 精品国产18久久久久久二百| 亚洲国产精品一区二区三区| 成人在线播放免费观看| 欧洲精品中文字幕| 巨骚激情综合| 亚洲国产日韩在线一区模特| 黄色三级电影网| 亚洲精品国产精品乱码不99| 天天操,天天操| 欧美高清在线视频| www.久久久精品| 久久久高清一区二区三区| 日韩精品一区二区免费| 国产一区二区在线观看视频| 亚洲一区二区高清视频| 蜜臀精品一区二区三区在线观看 | 欧美裸体bbwbbwbbw| 五月天天在线| 色婷婷精品久久二区二区蜜臀av| 人成在线免费视频| 色欧美88888久久久久久影院| 亚洲成人福利| 欧美日本乱大交xxxxx| 日韩大片在线永久免费观看网站| 欧美性受极品xxxx喷水| av大全在线免费看| 欧美精品视频www在线观看| yellow91字幕网在线| 亚洲精品在线免费观看视频| 欧美xxxhd| 色婷婷综合成人| 高潮按摩久久久久久av免费| 欧美在线观看视频| 99精品综合| 蜜臀av一区二区| 日韩精品一线二线三线| 91精品国产91久久久久游泳池| 欧美日韩国产在线播放| aⅴ在线视频男人的天堂| 在线播放91灌醉迷j高跟美女| 色呦呦在线免费观看| 中文字幕免费国产精品| 加勒比色老久久爱综合网| 成人精品久久久| 久久狠狠婷婷| 日日橹狠狠爱欧美超碰| 亚洲男女一区二区三区| 黄色片在线免费看| 亚洲高清色综合| 亚洲综合视频| 国产精品视频网址| 丝袜美腿亚洲综合| 成年人午夜免费视频| 亚洲激情五月婷婷| 黄色成年人视频在线观看| 亚洲人成电影网站色xx| 一本色道久久综合亚洲精品酒店 | 国产精品一区二区免费不卡 | 国产精品嫩草影院av蜜臀| 制服黑丝国产在线| 欧美三级日本三级少妇99| 亚洲1234区| 国产精品久久久久久一区二区| 自拍偷拍欧美专区| 欧美精品一区二区性色a+v| 中文字幕一区二区三区在线观看| 第一福利在线| 久久综合久久88| 欧美ab在线视频| 欧美成人高潮一二区在线看| 国产精品草草| 成人日韩欧美| 一区二区视频欧美| 亚洲国产精品久久久久| 国产精品1区| 91在线国产电影| 国产一区不卡在线| 91热爆在线观看| 精品精品欲导航| 欧美不卡在线观看| 国产欧美日韩在线播放| av在线一区二区| 伪装者在线观看完整版免费| 亚洲天堂视频在线观看| 97精品国产| 极品粉嫩国产18尤物| 色先锋aa成人| 试看120秒一区二区三区| 久久久久久久久久久久久久久久av| 91网页版在线| 亚洲图区一区| 国产精品久久久久影院日本| 国产乱码精品一区二区三区av | 欧美国产高潮xxxx1819| 黄色大片中文字幕| 午夜精品久久久久久久久久| 国产精品99精品一区二区三区∴| 91午夜国产| 粉嫩精品一区二区三区在线观看| 五月综合激情网| 久久五月婷婷丁香社区| 中文字幕在线观看第一页| 国产一区二区三区欧美| 欧美三级特黄| 欧美日韩久久久| 400部精品国偷自产在线观看| 亚洲激情图片小说视频| 欧洲精品久久久久毛片完整版| 国产偷国产偷亚洲高清97cao| 国产精品国产三级国产三级人妇| 卡通欧美亚洲| 久久精品综合一区| 高跟丝袜欧美一区| 九九亚洲精品| 国产三级日本三级在线播放| 亚洲精品午夜精品| 国产精品社区| www在线播放| 91精品久久久久| 亚洲欧洲色图综合| 精品一区二区三区免费看| 国产精品美女在线播放| 91精品国产高清一区二区三区蜜臀| 91视频综合| 360天大佬第二季在线观看| 国模精品视频一区二区三区| 成人一区二区三区视频在线观看 | 国产一区二区三区日韩| 国产福利视频在线观看| 亚洲一区免费观看| 狠狠久久五月精品中文字幕| 久久久久久麻豆| 91精品国产综合久久精品| 亚洲精品在线观看91| 白白色视频在线| 国产成人精品久久二区二区| 国产女人18毛片水真多成人如厕 | 亚洲免费伊人电影| 欧美日韩va| 日本福利视频一区| 在线国产精品播放| 成人网男人的天堂| 小明成人免费视频一区| 97干在线视频| 久国内精品在线| 国产精品麻豆视频| 亚洲aa在线| 三级在线电影| 久久草视频在线看| 欧美日韩亚洲高清一区二区| 在线亚洲激情| 亚洲第一av| 国产a级一级片| 97视频网站入口| 亚洲乱码国产乱码精品精98午夜 | 日韩电影免费观看高清完整| 91精品国产高清一区二区三区蜜臀 | 91精品一久久香蕉国产线看观看| 国产九色porny| 久久影院资源网| 国产精品久久久久国产精品日日| 蜜桃a∨噜噜一区二区三区| 人人做人人爽| 91黄在线观看| 亚洲精品久久久久久下一站| 久久香蕉国产线看观看99| 久久av综合| 黄色成人影院| 97在线免费公开视频| 国产精品劲爆视频| 欧美日韩在线播放三区四区| 国产一区二区福利视频| 亚洲日本va| 日本又骚又刺激的视频在线观看| 神马一区二区影院| 久久久这里只有精品视频| 一本色道久久综合亚洲aⅴ蜜桃|