实时计算 Flink 版总体介绍
本文整理自直播《實時計算 Flink 版總體介紹 》
視頻鏈接:https://developer.aliyun.com/learning/course/795
Apache Flink技術(shù)發(fā)展
大數(shù)據(jù)的高速發(fā)展已經(jīng)超過10年,大數(shù)據(jù)也正在從計算規(guī)模化向更加實時化的趨勢演進(jìn)。
比如阿里巴巴舉辦的購物狂環(huán)節(jié)雙11,可以通過實時大屏展示整個雙11實時的交易額、成交額,并可實現(xiàn)毫秒級的更新;全球華人都會觀看的中央電視臺春節(jié)聯(lián)歡晚會,可以通過春晚大屏,實時統(tǒng)計全國的收視率與觀眾畫像;現(xiàn)在多個城市都有的城市大腦項目,通過 IoT的攝像頭信息,實時捕獲各個城市中的交通、車輛、人流等信息去做交通的監(jiān)察和治理;還有金融行業(yè),在銀行、證券交易所等機(jī)構(gòu)的核心業(yè)務(wù)場景下,也都在通過大數(shù)據(jù)實時計算能力實時監(jiān)控交易行為,進(jìn)行反作弊反洗錢等行為的探測;除此之外,在整個淘寶電商交易的場景下,實時根據(jù)用戶的行為進(jìn)行個性化推薦,基于用戶在前一分鐘或者30秒內(nèi)瀏覽商品情況,在后續(xù)的瀏覽中系統(tǒng)就會根據(jù)算法測算用戶畫像,然后實時向用戶推薦可能會喜歡的相關(guān)商品等。可以說這么多日常生活中涉及的場景,背后都是由實時計算在推動生產(chǎn)力的提升,日夜不息。
實時計算需要后臺有一套極其強(qiáng)大的大數(shù)據(jù)計算能力,Apache Flink作為一款開源大數(shù)據(jù)實時計算技術(shù)應(yīng)運而生。它從設(shè)計之初就由流計算開啟,因為傳統(tǒng)的Hadoop、Spark等計算引擎,本質(zhì)上是批計算引擎,通過對有限的數(shù)據(jù)集進(jìn)行數(shù)據(jù)處理,其處理延時性是不能保證的。而Apache Flink作為流式計算引擎,它可以實時訂閱實時產(chǎn)生的現(xiàn)實數(shù)據(jù),并實時對數(shù)據(jù)進(jìn)行分析處理并產(chǎn)生結(jié)果,讓數(shù)據(jù)在第一時間發(fā)揮價值。
目前Apache Flink也從流計算的引擎逐漸擁有流批一體的計算能力,可以通過日志流,點擊流,IoT數(shù)據(jù)流等進(jìn)行流式的分析處理,同時也可以對數(shù)據(jù)庫和文件系統(tǒng)中的文件等有限數(shù)據(jù)集進(jìn)行批式的數(shù)據(jù)處理,快速分析結(jié)果。Apache Flink 現(xiàn)在是開源社區(qū)中非常流行的一個開源大數(shù)據(jù)技術(shù),并且連續(xù)三年成為Apache開源項目中全球活躍度最高的項目之一。它具備強(qiáng)一致性的計算能力、大規(guī)模的擴(kuò)展性,整體性能非常卓越,同時支持SQL、Java、Python等多語言,擁有豐富的API接口方便各種場景業(yè)務(wù)使用。目前國內(nèi)外互聯(lián)網(wǎng)企業(yè)中Flink已經(jīng)成為主流的實時大數(shù)據(jù)計算技術(shù),是實時計算領(lǐng)域的事實技術(shù)標(biāo)準(zhǔn)。
阿里云實時計算 Flink 版產(chǎn)品,在阿里巴巴集團(tuán)內(nèi)部歷經(jīng)多年錘煉和驗證,積累了豐富的技術(shù)和產(chǎn)品,現(xiàn)已經(jīng)提供到云上,為各行各業(yè)中小企業(yè)提供云計算服務(wù)。早在2016年,Apache Flink剛剛捐獻(xiàn)給Apache之后的第三年,阿里已經(jīng)開始大規(guī)模上線使用實時計算產(chǎn)品了。這個產(chǎn)品最早上線于阿里最核心的搜索推薦以及廣告業(yè)務(wù)場景,在這個場景下我們需要大量的數(shù)據(jù)實時化的處理,比如實時推薦、實時排序、實時廣告等,對整個電商的核心業(yè)務(wù)有非常大的提升。
2017年,基于 Flink 的實時計算平臺產(chǎn)品,開始服務(wù)于整個阿里巴巴集團(tuán),同年雙11服務(wù)全集團(tuán)的數(shù)據(jù)實時化,包括最核心的雙11的大屏。在2018年產(chǎn)品正式上云,不僅服務(wù)集團(tuán)內(nèi),同時開始服務(wù)云上中小企業(yè),這也是第一次將實時計算 Flink 的產(chǎn)品以公共云的形式對外提供服務(wù)。
2019年初,阿里巴巴收購了 Flink 的創(chuàng)始公司 - Ververica,阿里的 Flink 技術(shù)團(tuán)隊-實時計算技術(shù)團(tuán)隊和德國總部的Flink創(chuàng)始團(tuán)隊順利會師,成為了全球 Flink 技術(shù)最強(qiáng)的團(tuán)隊,也共同推進(jìn)了整個Apache Flink 開源社區(qū)的發(fā)展和貢獻(xiàn)。目前中國Apache Flink社區(qū)有超過20w的開發(fā)者參與到社區(qū)中,Flink成為Apache基金會大數(shù)據(jù)領(lǐng)域最活躍的項目之一。
去年,在全球主流的云計算公司和大數(shù)據(jù)公司,都大量采用 Flink 的技術(shù)推出了自己的 Flink 產(chǎn)品。比如借Hadoop起家的Cloudera也推出全面集成了 Flink 的CDP/CDH,國內(nèi)的大數(shù)據(jù)公司也陸續(xù)推出了基于 Flink 的實時計算產(chǎn)品。
實時計算Flink版產(chǎn)品架構(gòu)
阿里云的實時計算產(chǎn)品架構(gòu)和開源版本相比較,有很大的提高和增值。現(xiàn)在很多開發(fā)者在自建機(jī)房或者云上虛擬機(jī)作業(yè)時都會使用開源的Apache Flink 去搭建自己的實時計算平臺。那么阿里云官方推出的實時計算Flink產(chǎn)品,它的特色是什么呢?
根據(jù)整個產(chǎn)品的架構(gòu)圖,最底層是基于阿里云的完善的云原生的基礎(chǔ)設(shè)施,通過容器化來構(gòu)建一套實時計算 Flink 的產(chǎn)品,所有的 Flink 的計算任務(wù)都運行在Kubernetes的生態(tài)之上,以容器化的方式進(jìn)行多租戶的隔離,保障安全。同時它又是全托管的服務(wù)形態(tài),在云上提供高SLA保證的全托管服務(wù),免除用戶運維的煩惱。并搭配service架構(gòu),用戶可以更靈活的判斷各類資源的占比,完全配合自己的業(yè)務(wù)量來選擇,無需為機(jī)器的規(guī)劃而煩惱。實時計算 Flink 版產(chǎn)品是一套天然的云原生基礎(chǔ)架構(gòu)。
在核心計算引擎上,相對于開源的Apache Flink 阿里云進(jìn)行了多處核心功能的優(yōu)化,這些優(yōu)化也通過了阿里內(nèi)部業(yè)務(wù)的錘煉。目前實時計算 Flink 產(chǎn)品,支持了阿里集團(tuán)將近100個事業(yè)部的實時數(shù)據(jù)服務(wù)。通過大量業(yè)務(wù)實踐,產(chǎn)品在支持存儲,調(diào)度、網(wǎng)絡(luò)傳輸?shù)确矫?#xff0c;都調(diào)試到最佳效果。
插件方面,產(chǎn)品內(nèi)置幾十種增強(qiáng)型的Connector,可以對接所有主流的開源數(shù)據(jù)存儲包括云上像MySQL、 HBase、HDFS、阿里云SLS等,天然集成、開箱即用。開發(fā)平臺方面,提供企業(yè)級的一站式的開發(fā)平臺,自帶開發(fā)和運維能力,免除自建煩惱,提高企業(yè)用戶整體使用感受。
實時計算 Flink版支持SQL、Java、Python 等多語言開發(fā)環(huán)境,提供開發(fā)任務(wù)的全生命周期管理,可支持基于OIDC和RBAC的企業(yè)級安全機(jī)制,并且擁有基于Prometheus協(xié)議的全鏈路監(jiān)控報警,同時提供自有AutoPilot的智能調(diào)優(yōu)系統(tǒng),智能地幫助用戶去對 Flink 任務(wù)進(jìn)行參數(shù)的調(diào)優(yōu),包括資源的調(diào)優(yōu)和并發(fā)度的調(diào)優(yōu)。產(chǎn)品完全可以去自適應(yīng)業(yè)務(wù)的流量,不需要人工做任何的調(diào)試(智能調(diào)優(yōu)是實時計算Flink版產(chǎn)品的核心優(yōu)勢)。
實時計算Flink版與開源Apache Flink的區(qū)別
實時計算 Flink 版的產(chǎn)品相對于開源產(chǎn)品,具有數(shù)10項的性能優(yōu)勢,通過開發(fā)、運維、成本、安全等角度進(jìn)行對比。
開發(fā)方面具備豐富的數(shù)據(jù)連接能力和一站式的多語言的開發(fā)環(huán)境,內(nèi)置多種函數(shù)庫,方便用戶進(jìn)行代碼調(diào)試,還可以進(jìn)行多租戶的開發(fā),任務(wù)的調(diào)試,測試的模擬等等。運維方面支持全鏈路的監(jiān)控報警,用戶在使用過程中出現(xiàn)的數(shù)據(jù)延遲、數(shù)據(jù)異常、服務(wù)中斷等都可以進(jìn)行自動報警。
智能運維方面支持自動化的智能診斷和調(diào)優(yōu),能夠根據(jù)業(yè)務(wù)流量自動幫用戶進(jìn)行性能調(diào)優(yōu)、作業(yè)調(diào)優(yōu)、參數(shù)調(diào)優(yōu)和資源調(diào)優(yōu)等,針對問題可以進(jìn)行診斷優(yōu)化。資源層面在開源的基礎(chǔ)上,做到了更細(xì)粒度和更精細(xì)化的資源的調(diào)配,使得每個作業(yè)每個算子都可以在CPU和內(nèi)存粒度上進(jìn)行配置,大幅優(yōu)化資源的利用率,幫助用戶節(jié)省成本,提升服務(wù)的穩(wěn)定性,降低OM的概率。搭配原廠的運維兜底服務(wù),SLA 99.9%的保證,以及全鏈路的容錯能力,系統(tǒng)穩(wěn)定性的保證,充分解決用戶后顧之憂。
成本層面,通過云上成本優(yōu)化,在性能提升的同時降低用戶整體的TCO,這也是核心性能的優(yōu)勢。
基于NexMark的流計算的標(biāo)準(zhǔn)測試中,實時計算 Flink 版的產(chǎn)品性能約為開源的3倍,依托阿里集團(tuán)強(qiáng)大的研發(fā)團(tuán)隊在內(nèi)部核心業(yè)務(wù)場景下積累的實踐優(yōu)化,使得產(chǎn)品在降低用戶的基礎(chǔ)成本上,突出核心優(yōu)勢。
實時計算Flink版還具備云原生的彈性擴(kuò)容能力,可幫助用戶合理地節(jié)省資源,提高資源利用率。產(chǎn)品付費類型支持包年包月付費,也支持按量付費,更好地適配不同需求。
安全層面通過容器化的任務(wù)隔離,提高用戶使用感受,并且支持租戶隔離、安全隔離、VPC隔離等等多種需求。同時與阿里的賬號體系直接打通,用戶可以基于阿里云的賬號無縫進(jìn)行產(chǎn)品之間的安全管控,也支持基于角色、OIDC這種開放的身份認(rèn)證協(xié)議,大大提高業(yè)務(wù)的安全性。
整體來說,企業(yè)版相對于開源版具有更優(yōu)勢的功能性和穩(wěn)定性,除了運維方面的優(yōu)勢,開箱即用也讓用戶更加方便。
產(chǎn)品解決方案
Flink 作為實時計算的一個流式計算引擎,可以處理多種實時數(shù)據(jù),包括ECS在線服務(wù)日志,IoT場景下傳感器數(shù)據(jù)等各類實時數(shù)據(jù)。同時可以訂閱云上數(shù)據(jù)庫RDS、PolarDB等這種關(guān)系型數(shù)據(jù)庫中 binlog的更新。再通過DataHub數(shù)據(jù)總線產(chǎn)品、SLS日志服務(wù)、開源的Kafka消息隊列產(chǎn)品等將實時數(shù)據(jù)進(jìn)行訂閱,收錄進(jìn)實時計算產(chǎn)品中,進(jìn)行實時的數(shù)據(jù)分析和處理。最終將分析結(jié)果寫入不同的數(shù)據(jù)服務(wù)中,比如MaxCompute、MaxCompute-Hologres交互式分析、PAI機(jī)器學(xué)習(xí)、Elasticsearch等產(chǎn)品中,根據(jù)業(yè)務(wù)需求選擇最佳數(shù)據(jù)服務(wù)產(chǎn)品,提高數(shù)據(jù)利用率。
Flink主要的應(yīng)用場景就是將各種不同的實時數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行實時的訂閱、處理、分析,并把得到的結(jié)果寫入到其他的在線存儲之中,讓用戶直接生產(chǎn)使用。整個系統(tǒng)具有速度快,數(shù)據(jù)準(zhǔn),云原生架構(gòu)以及智能化等特點,是一款非常具有競爭力的企業(yè)級的產(chǎn)品。產(chǎn)品運行在阿里云的容器服務(wù)ECS等IaaS系統(tǒng)上,跟阿里云的各項系統(tǒng)天然打通,方便客戶適用更多場景。
產(chǎn)品應(yīng)用場景
基于實時計算 Flink 版產(chǎn)品總結(jié)出4大應(yīng)用場景,方便用戶根據(jù)需求輕松構(gòu)建自己的業(yè)務(wù)實時計算解決方案。
1、實時數(shù)倉
實時數(shù)倉主要應(yīng)用在網(wǎng)站pv/uv統(tǒng)計、商品銷量統(tǒng)計、交易數(shù)據(jù)統(tǒng)計等各類交易型數(shù)據(jù)場景中。通過訂閱業(yè)務(wù)實時數(shù)據(jù)源,將信息實時秒級分析,最終呈現(xiàn)在大屏幕中給決策者使用,方便判斷企業(yè)經(jīng)營狀況和活動促銷的情況。根據(jù)實時的商業(yè)運營數(shù)據(jù)作出決策,做到真正數(shù)據(jù)智能。因場景的特殊性,實時數(shù)據(jù)尤為重要,在瞬息萬變的業(yè)務(wù)互動中需要對上一分鐘甚至上一秒鐘發(fā)生的數(shù)據(jù)進(jìn)行分析決策,實時計算是這種場景下最好的選擇。
2、實時推薦
實時推薦主要是根據(jù)用戶喜好進(jìn)行個性化推薦或者基于AI技術(shù)進(jìn)行推薦,是一個主流的產(chǎn)品形態(tài)。常見于短視頻場景,電商購物場景,內(nèi)容資訊場景等,通過之前的用戶點擊情況實時判斷用戶喜好,從而進(jìn)行針對性推薦,增加用戶粘性。這種是實時性非常強(qiáng)的場景,可以通過Flink 技術(shù)結(jié)合AI技術(shù)進(jìn)行實時推薦場景的運作。
3、ETL場景
實時的ETL場景常見于數(shù)據(jù)同步作業(yè)中,在數(shù)據(jù)同步的過程中還要做數(shù)據(jù)計算處理。比如數(shù)據(jù)庫中不同表的同步、轉(zhuǎn)化、不同數(shù)據(jù)庫的同步,或者是進(jìn)行數(shù)據(jù)聚合預(yù)處理等操作。最終將結(jié)果寫入數(shù)倉/數(shù)據(jù)湖進(jìn)行歸檔沉淀,為后續(xù)深度分析進(jìn)行前期準(zhǔn)備工作,方便用戶進(jìn)行后續(xù)的日志類分析等操作。在整個的數(shù)據(jù)同步和處理鏈路上,基于 Flink 做這種實時化數(shù)據(jù)的同步和預(yù)處理是非常高效的。
4、實時監(jiān)控
實時監(jiān)控常見于金融類或者是交易類業(yè)務(wù)場景下,針對行業(yè)的獨特性,需要有商業(yè)化的反作弊監(jiān)管,根據(jù)實時短時間之內(nèi)的行為,判定用戶是否為作弊用戶,做到及時止損。該場景對時效性要求極高,通過對異常數(shù)據(jù)檢測,可以實時發(fā)現(xiàn)異常情況而做出一個止損的行為。收集 指標(biāo)或者日志等統(tǒng)計各個系統(tǒng)的指標(biāo),對指標(biāo)進(jìn)行實時的觀察和監(jiān)控等等需求場景,都是可以通過實時計算 Flink 產(chǎn)品解決的。
產(chǎn)品官網(wǎng):https://www.aliyun.com/product/bigdata/sc
原文鏈接:https://developer.aliyun.com/article/784301?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的实时计算 Flink 版总体介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 独家下载!《零售数据中台通关指南》,带你
- 下一篇: 如何成为云原生时代的卓越架构师?