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