<var id="t3nh5"></var>
<var id="t3nh5"></var><var id="t3nh5"><video id="t3nh5"></video></var>
<var id="t3nh5"><strike id="t3nh5"></strike></var>
<var id="t3nh5"><video id="t3nh5"></video></var><var id="t3nh5"><video id="t3nh5"><thead id="t3nh5"></thead></video></var>
<var id="t3nh5"><strike id="t3nh5"></strike></var><var id="t3nh5"><video id="t3nh5"></video></var>
<cite id="t3nh5"><video id="t3nh5"><menuitem id="t3nh5"></menuitem></video></cite><ins id="t3nh5"><span id="t3nh5"></span></ins><var id="t3nh5"><video id="t3nh5"></video></var>
<var id="t3nh5"></var>
<var id="t3nh5"></var>
<var id="t3nh5"><video id="t3nh5"><thead id="t3nh5"></thead></video></var>
<thead id="t3nh5"><ins id="t3nh5"></ins></thead><menuitem id="t3nh5"></menuitem>
我的賬戶
長春信息港

自媒體資訊干貨

親愛的游客,歡迎!

已有賬號,請

立即登錄

如尚未注冊?

加入我們
  • 客服電話
    點擊聯系客服

    在線時間:8:00-16:00

    客服電話

    400-000-0000

    電子郵件

    xjubao@163.com
  • APP下載

    長春信息港APP

    隨時隨地掌握行業動態

  • 官方微信

    掃描二維碼

    關注長春信息港公眾號

長春信息港 網站首頁 資訊列表 資訊內容

VervericaPlatform-阿里巴巴全新Flink企業版揭秘

2019-11-08 發布于 長春信息港
西安治白癲風好的醫院 http://jbk.39.net/yiyuanzaixian/xarabdfyy/

原標題:VervericaPlatform-阿里巴巴全新Flink企業版揭秘

摘要:2019云棲大會大數據&AI專場,阿里巴巴資深技術專家王峰帶來“VervericaPlatform-阿里巴巴全新Flink企業版揭秘”的演講。本文主要從Ververica由來開始談起,著重講了VervericaPlatform的四個核心插件AppManager、LibraService、StreamLedger、Gemini,以及阿里巴巴實時計算云原生版本相關特性及典型應用場景。

直播回放請點擊:https://yunqi.youku.com/2019/hangzhou/review?spm=a2c4e.11153940.0.0.14a838a1Xjs3hH

以下是精彩視頻內容整理:

隨著人工智能時代的降臨,數據量的爆發,在典型的大數據業務場景下數據業務最通用的做法是:選用批處理的技術處理全量數據,采用流式計算處理實時增量數據。2017年基于Flink開發的實時計算產品正式服務于阿里巴巴集團內部,并從搜索和推薦兩大場景開始應用。目前阿里巴巴及下屬所有子公司,都采用實時計算產品來處理所有的實時業務。

Ververica是如何誕生的?

眾所周知,ApacheFlink是業界非常流行的流計算引擎,最早誕生于歐洲,是柏林大學的研究型項目。后來由項目的發起人創辦了DataArtisans公司并根據該研究項目孵化出Flink,并于2014年將Flink捐贈給Apache基金會。

同年,阿里巴巴開始關注Flink。由于搜索有很多業務場景非常依賴大數據和實時數據處理,而Flink在架構設計上,作為全流式的執行引擎,數據處理效率非常高。于是阿里巴巴內部開始著手研究Flink,并看好Flink將會成為新一代計算引擎,加速大數據計算的未來發展。

經過一年努力,阿里內部對Flink的開源版本做了很多深度優化與改進,使其能夠適應阿里巴巴超大規模的業務場景,包括搜索、推薦等核心的業務場景。2016年,第一次將Flink推到雙11場景使用,構建了搜索、推薦的全實時鏈路(包括在線學習、模型預測等),形成了一套完整的閉環。2017年,阿里巴巴全線上線了基于Flink實時計算產品,服務于阿里巴巴的搜索、推薦等核心場景以及廣告、數據和所有部門的實時在線業務,比如:阿里巴巴雙11全天各種多維的數據統計,交易額大屏幕的全球直播等全部都是由基于Flink的實時計算產品來支持。

在此基礎之上,2018年,我們首次在阿里云公有云推出基于Flink的實時計算服務,開始支持各行各業的企業客戶。阿里巴巴對Flink的認可度在逐漸增加,Flink也證明了在實時計算的業務中的巨大潛力。自此,阿里巴巴加大了對Flink的投入并加速推進Flink社區的發展。2019年1月,阿里巴巴收購了DataArtisans并創建了新企業品牌Ververica,以上即為Flink的企業品牌Ververica的由來。

在開源這塊,相信大家都非常了解每個大的開源項目背后都有一個企業品牌,隨著整合的逐步完善,德國的Flink創始團隊與中國阿里巴巴的實時計算團隊也開始密切合作。與此同時,我們也在持續推動Flink社區的發展。1月初,阿里巴巴將內部維護的Flink分支Blink貢獻給整個Flink開源社區,目前阿里巴巴對Flink社區貢獻的代碼已超過100萬行。并且,兩個團隊密切配合在商業化上進行聯合作戰,推出全新的Flink企業版——VervericaPlatform。

VervericaPlatform的技術架構如何,能夠解決哪些應用場景,下面將詳細講解。

VervericaPlatform介紹

VervericaPlatform是阿里巴巴推出的全新企業版,它仍然堅持以ApacheFlink的社區版本為內核,同時能夠兼容各種企業級插件,在整個基于Flink的實時計算解決方案上對應用性、穩定性、性能、可運維性等方面提供企業級的增值服務。

首先,VervericaPlatform是一個企業級的開放軟件,支持客戶將其部署在生產環境中,對接已有的周邊生態系統如日志、Metrics、存儲等。最初在設計VervericaPlatform時就將其定位為完全云原生的方案,系統組件和核心組件都以支持微服務方式部署到Kubernetes上,用戶可以非常方便的將VervericaPlatform和自己的在線服務或其他數據服務做云原生的混布。

VervericaPlatform計算引擎

VervericaPlatform使用ApacheFlink作為其核心的計算引擎,保證和社區的完全兼容。上圖為ApacheFlink最新演進的架構圖。ApacheFlink的本質是一款有狀態的流式計算引擎,可以連接各種各樣的存儲,通過ETL計算、數據分析等將數據結果導入到另外的存儲中。作為流式計算,Flink的時效性非常好,可以在高吞吐量的同時達到亞秒級延時。Flink不僅能夠連接消息隊列等無限數據流的數據源,也可以連接文件系統、數據庫表、KV存儲等有限的數據集,所以Flink也在基于流式計算的優勢上逐漸朝著批流融合的方向發展,有希望成為一種新的批流合一的全能計算引擎。

所以VervericaPlatform將會依賴社區的力量,采用Flink社區的主流版本作為內核,所有的增值服務、各種優化都會通過嵌入的方式來實現,為用戶提供一個開放透明的計算引擎。以下將詳細介紹VervericaPlatform的核心插件。

VervericaPlatform–AppManager

VervericaPlatform在應用上的企業級插件叫APPManager,是管理Flink全生命周期的工具。Flink作為計算引擎,在易用性方面可以采用多種優化來幫助用戶更高效地使用Flink系統。比如,整個Job生命周期的管理,從Job的開發、配置,到提交上線、停止重啟等基本的運維功能可以通過APPManager封裝出一套完整的工具鏈來完成,同時提供包括日志的采集收集、運行Metrics的收集展現等功能,方便用戶對任務進行debug。此外,企業級安全也是非常重要的feature,尤其是企業應用時存在多租戶部署的需求,因此APPManager也提供了Rollbase權限管理、OpenID授權系統。同時,我們非常注重開放性和被集成的能力,所以APPManager還提供了完善的API,使用戶能非常方便的將VervericaPlatform企業級軟件集成到自己已有的大數據平臺之中。

VervericaPlatform–LibraService

LibraService是提供智能運維能力的企業級插件。大數據的系統運行中運維是其中的重要部分,尤其是規模擴大的場景中。常規情況下運行FlinkJob,基本上是開發人員寫完代碼后要配各種各樣的參數,對于Flink的運維人員來講,需要知道這個Job是干什么的、支持什么樣的業務、峰值是什么情況、大概的數據規模是什么樣子,根據自己的經驗進行調整,并且經過多次迭代后才能夠將一個任務調好。在任務較少的情況下,還可以通過運維人員人肉維護,但如果出現上千個Job,甚至阿里巴巴內部上萬個FlinkJob的場景,這是Flink社區版本無法幫助解決的,所以VervericaPlatform提供了一套智能運維插件,類似于AIOps,智能運維插件能夠幫助用戶推算出一個Job需要多少個TMs,每個TM需要配置多少個Slots,每個TM的JVM參數如何配置以及一個Job的并發度如何配置等。

上圖為LibraService的基本設計思路,這是一個非常經典的智能AIOps設計方案,可以看到用戶正常通過APPManager會提交一個Job,Job在Kubernetes集群啟動之后,LibraService會監控所有在Kubernetes集群上面運行的FlinkJob,實時采集所有的Metrics,包括Task的Metrics是否延遲、吞吐、buffer等運行信息,JobManager和TaskManager的GC情況,JVM各種運行的數據指標等等。相當于自動采集作業的各種指標特征,利用算法推算出現在的Job運行是否健康。比如部分Job在持續地延遲運行或利用了大量資源但其實是在空跑等不健康狀態,當Job處于不健康狀態時,通過算法推算出合理的計劃,比如延遲了要擴容,浪費資源可能要縮容,然后通知AppManager去修改整個Job的配置,讓Job重啟適應新的配置來達到穩定高效節省資源的效果,這就是彈性擴縮容插件LibraService,是智能運維的AIOps。

VervericaPlatform–StreamLedger

Flink提供了非常完整的一致性語義,也支持強一致性的語義,保證數據一條不丟、一條不少,這個是可以支持計費等金融級非??量痰臈l件,但有一個約束即整個正確性只能夠保證單條的記錄,比如2個賬戶要轉賬就保證不了,因為只能夠保證對A的操作絕對正確,對B的操作絕對正確,但是對A的10塊錢轉給B,這個完整的事務原生的Flink是沒有辦法保證的。

因此VervericaPlatform提供了一套分布式的跨行跨機器事務解決方案。StreamLedger是基于FlinkDatastreamAPI生態的Library,可以實現高性能的跨行分布式事務處理能力,這套Library完全基于Flink內部API,沒有任何外部依賴,可以與DatastreamAPI和SQL無縫集成,能夠兼容Flink已有的所有讀寫Connectors,所以SteamLedger是一個輕量的分布式事務處理方案,也是為金融級場景提供的分布式事務處理能力的解決方案。

VervericaPlatform–Gemini

最后一個插件是狀態存儲插件。在流式計算中,Flink天然支持內置狀態存儲管理,不需要依賴外部的存儲就可以把實時的數據統計等工作完成。正常做報表統計時都有count、sum、average等參數,這些計數器就是狀態數據,隨著計算量的增加,狀態數據可能會越來越大以至于內存可能無法承擔,所以需要一套內置的狀態存儲來存儲這些狀態。大家都知道在計算系統中,一旦有存儲IO訪問,性能瓶頸則很有可能是在存儲IO上,所以需要優化狀態存儲的訪問。

Flink內置了兩種狀態存儲,一種是基于JavaHeap的StateBackend狀態存儲插件,另一種是基于RocksDB的狀態存儲插件?;贘avaHeap的性能非常好,因為是完全基于JVM內存的,并且沒有序列化反序列化。但它的局限在于Java的方案內存容量會是瓶頸,因為Java對內存的利用率非常低,不如序列化高。經過測試,在物理數據超過幾百兆之后,內存的使用率超過幾個G就不能夠擴大數據量了,所以系統非常不穩定。業界很多公司都是在用RocksDB來做,這是非常優秀的開源KV存儲,但因為是基于C++寫的,所以和Flink的集成上還有很多不方便的地方,同時RocksDB也不是為Flink設計的,所以Flink在很多狀態的數據結構設計上沒有辦法進行優化。我們希望針對Flink的狀態存儲來做一套自己的存儲插件,可以提供更強大的功能,同時也兼容社區的協議,所以Gemini應運而生。Gemini是完全存儲計算分離的設計,它和RocksDB有很大的不同,同時它也可以利用本地SSD做二級緩存來加速訪問,尤其是在Flink出現故障,一個Task失敗,重新拉起一個進程時,它可以遠程的從HDFS上直接拉起狀態,下載時間會大幅降低,提升了整個FlinkSLB體驗,包括它在設計的時候采用了Java,和Flink系統間的整合也會更好。

這是整個VervericaPlatformGeminiStore和RocksDB的Benchmark的性能數據,我們可以看到Flink在常用的KVstate、Liststate、Mapstate等性能上都有非常明顯的提升,具體的數據大家可以自行查看。這個項目也是我們在整個VervericaPlatform做性能優化中效果最明顯的插件。

阿里巴巴實時計算云原生版本

VervericaPlatform是企業級的引擎軟件,能夠部署到任何環境中,天然可以跑在Kubernetes上,所以為了方便提供實時計算的云計算服務,讓阿里云的客戶都能夠方便的使用,我們已經把它適配到阿里云的云環境之中,和阿里云的系統實現了無縫的集成。將Flink的log放到阿里云的SLS上,可以利用SLS的log技術查詢搜索Flink的log,所以我們將FlinkMetrics對接到Prometheus生態中。我們也將FlinkCheckpoint存儲的狀態數據對接到阿里云的OSS上,讓已有的用戶能夠復用OSS系統。更重要的一點是整個阿里系統都是云原生的,VervericaPlatform也完全運行在阿里云的容器服務平臺之上,因此云原生也是VervericaPlatform的特點之一。如果用戶已經有自己的云原生集群或容器服務,可以嘗試半托管模式,用戶將提供集群給我們,我們就可以把整個軟件部署到用戶的集群上,包括已經存在的集群或新購買的集群,這種半托管方式能夠給用戶提供到此種服務,當然我們也會提供全托管模式,選擇上比較靈活,這就是目前已經在公測的VervericaPlatform云原生企業版。

VervericaPlatform產品能夠應用于哪些場景,幫助用戶解決哪些問題想必是大家非常關心的,以下將詳述。

應用場景1-實時數倉

第一個場景是實時數倉,這也是在阿里巴巴內部用得最多的場景,在云上抽象為如圖的模型,用戶的數據來自于兩處甚至是三處,第一部分來自于ECS日志,第二部分來自于RDS結構化數據,第三部分來自于IOT的設備。通過阿里云的SLS服務或者DataHub數據收集通道來收集用戶數據,實時計算的產品可以實時訂閱到上述數據,用FlinkSQL對以上數據進行多維數據分析,產生實時的數據報表。這個過程中,除了有單流的數據處理還有多流數據的join,還可能和HBase、Redis、MySQL等數據庫的數據有結合,其中可以運行復雜的SQL做經典數倉的處理,把數倉處理的結果實時寫到在線的數據庫比如HBase中,都是比較常用的用法。然后通過在線的數據服務在大屏幕中展現,這個場景在淘寶內部是非常經典的場景,雙11的時候可以看到大屏幕上有各種數據的成交、統計、分布、排名等,最典型的就是GMA交易數據,比如今年1000多億,明年2000多億等等,數字是實時滾動、全球直播的,也是通過這套Flink的架構來實現的?,F在對于云上的很多客戶而言,實時數倉也是一個很大的應用場景。

應用場景2-實時風控

第二個實時場景就是實時監控、異常數據的報警等等。這也是現在非常主流的場景之一,其實數據源和實時數倉很像,基本上還是基于ECS的日志數據或數據庫中的增量數據表的更新數據、IOT的數據等,工業會產生大量的數據,需要監測設備數據的異常。與實時數倉不同之處在于實時風控并不是采用SQL來做統計和分析,基本上會采用復雜時間處理,比如FlinkCEP或業務方自己定制的風控庫來對實時數據進行監測,這個監測可能基于業務的規則,也可能基于BigdataonAI的方案。新的研究方向是在異常監測或者風控領域基于模型監控,離線或實時訓練并在線加載這些模型進行實時檢測,能夠實時發現異常的事件,及時進行補救。通過Kafka集群到在線的報警系統來對接各種業務系統去報警,這也是能夠秒級實時監測各種異常事件做風險控制的方式之一,在整個安防場景、金融場景都是非常常見的解決方案。

應用場景3-在線機器學習

第三個場景是成長最快的在線機器學習。在線機器學習是阿里多年的研究方向之一,也是Flink首先應用在阿里巴巴搜索事業部搜索推薦業務部場景的原因。在線機器學習是搜索推薦廣告中非?;鸬姆较?,機器學習不僅是離線數據模型來做訓練,甚至能夠形成一個完全的實時化閉環方案,通過用戶在天貓、淘寶上產生的大量的點擊、交易,相關數據都會通過日志系統實時收集,之后傳入實時計算中計算,我們稱之為特征工程。對用戶的數據如用戶的訂單等做數據清洗,數據特征的彌補、計算,甚至和離線特征做一些結合。部分數據,如30天銷量、用戶年齡等數據并非實時變化,是需要長時間的統計得到,我們把實時特征、離線特征全部都做了拼接之后就是多維數據的join,最終能夠得出實時樣本。我們通過流式得到實時樣本之后就能夠在后面對接流式來做機器學習的訓練,可以通過PAI等類似的機器學習產品來做實時或者準實時的模型訓練,訓練完之后產生的模型有一套完整的驗證機制,驗證完整的模型Validation之后才能推上線,再用新模型提供個性化的搜索和推薦,從而驅動用戶產生新的點擊,再去進行模型的更新,進而形成一套完整的閉環。這是Bigdata+AI的一個典型場景,從數據處理、數據訓練,再到數據預測、用戶點擊形成反饋等,形成完整生產線。這也是Flink做實時計算和在線的流式計算與在線機器學習的訓練形成一套完整閉環的經典方案,這套方案也是淘寶天貓真實的在線搜索推薦解決方案。

目前我們有很多客戶都在采用這種新的方案來提升他們的點擊,尤其是社交媒體類的公司都在嘗試這個新的解決方案。

最后,回到社區,阿里巴巴收購完DataArtisans之后成立了新的企業品牌Ververica,我們希望除了商業化品牌的統一、提供的增值服務之外,還希望能夠繼續擴大社區規模,服務好更多社區的用戶,推動社區繁榮發展。所以阿里巴巴也投入了很大的精力來支持整個Flink社區的發展,尤其是在中國,我們已經在北京、上海、深圳等連續辦了非常多的Flnik社區Meetup,包括去年年底舉辦的首屆FlinkForwardChina大會,今年將繼續舉辦第二屆。去年大會的規模是1000人,今年希望能夠達到2000人,希望中國比較主流的互聯網公司都能參與其中,分享他們對Flink應用的經驗,我們也會聯合Flink創始團隊一起,講Flink的新特性、發布以及方向上的展示。歡迎更多對Flink有興趣的同學一起來參與大會,交流探討。

雙11福利來了!先來康康#怎么買云服務器最便宜#[并不簡單]參團購買指定配置云服務器僅86元/年,開團拉新享三重禮:1111紅包+瓜分百萬現金+31%返現,爆款必買清單,還有iPhone11Pro、衛衣、T恤等你來抽,馬上來試試手氣!https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110

------------------------------------

本文作者:巴蜀真人

原文鏈接:https://yq.aliyun.com/articles/724113?utm_content=g_1000084564

本文為云棲社區原創內容,未經允許不得轉載。

責任編輯:

1

鮮花
1

握手

雷人

路過

雞蛋
該文章已有0人參與評論

請發表評論

全部評論

長春信息港

掃一掃二維碼關注我們Get最新資訊

相關分類
熱點推薦
關注我們
長春信息港與您同行

客服電話:400-000-0000

客服郵箱:xjubao@163.com

周一至周五 9:00-18:00

長春信息港 版權所有

Powered by 長春信息港 X1.0@ 2015-2020

网上赛车赌博解密