實時計算 Flink 版整體介紹

簡介:實時計算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里雲基於 Apache Flink 構建的企業級、高性能實時大數據處理系統,由 Apache Flink 創始團隊官方出品,擁有全球統一商業化品牌,徹底兼容開源 Flink API,提供豐富的企業級增值功能。

本文整理自直播《實時計算 Flink 版整體介紹 》
視頻連接:https://developer.aliyun.com/learning/course/795算法

Apache Flink技術發展

大數據的高速發展已經超過10年,大數據也正在從計算規模化向更加實時化的趨勢演進。數據庫

好比阿里巴巴舉辦的購物狂環節雙11,能夠經過實時大屏展現整個雙11實時的交易額、成交額,並可實現毫秒級的更新;全球華人都會觀看的中央電視臺春節聯歡晚會,能夠經過春晚大屏,實時統計全國的收視率與觀衆畫像;如今多個城市都有的城市大腦項目,經過 IoT的攝像頭信息,實時捕獲各個城市中的交通、車輛、人流等信息去作交通的監察和治理;還有金融行業,在銀行、證券交易所等機構的核心業務場景下,也都在經過大數據實時計算能力實時監控交易行爲,進行反做弊反洗錢等行爲的探測;除此以外,在整個淘寶電商交易的場景下,實時根據用戶的行爲進行個性化推薦,基於用戶在前一分鐘或者30秒內瀏覽商品狀況,在後續的瀏覽中系統就會根據算法測算用戶畫像,而後實時向用戶推薦可能會喜歡的相關商品等。能夠說這麼多平常生活中涉及的場景,背後都是由實時計算在推進生產力的提高,日夜不息。安全

實時計算須要後臺有一套極其強大的大數據計算能力,Apache Flink做爲一款開源大數據實時計算技術應運而生。它從設計之初就由流計算開啓,由於傳統的Hadoop、Spark等計算引擎,本質上是批計算引擎,經過對有限的數據集進行數據處理,其處理延時性是不能保證的。而Apache Flink做爲流式計算引擎,它能夠實時訂閱實時產生的現實數據,並實時對數據進行分析處理併產生結果,讓數據在第一時間發揮價值。網絡

目前Apache Flink也從流計算的引擎逐漸擁有流批一體的計算能力,能夠經過日誌流,點擊流,IoT數據流等進行流式的分析處理,同時也能夠對數據庫和文件系統中的文件等有限數據集進行批式的數據處理,快速分析結果。Apache Flink 如今是開源社區中很是流行的一個開源大數據技術,而且連續三年成爲Apache開源項目中全球活躍度最高的項目之一。它具有強一致性的計算能力、大規模的擴展性,總體性能很是卓越,同時支持SQL、Java、Python等多語言,擁有豐富的API接口方便各類場景業務使用。目前國內外互聯網企業中Flink已經成爲主流的實時大數據計算技術,是實時計算領域的事實技術標準。架構

阿里雲實時計算 Flink 版產品,在阿里巴巴集團內部歷經多年錘鍊和驗證,積累了豐富的技術和產品,現已經提供到雲上,爲各行各業中小企業提供雲計算服務。早在2016年,Apache Flink剛剛捐獻給Apache以後的第三年,阿里已經開始大規模上線使用實時計算產品了。這個產品最先上線於阿里最核心的搜索推薦以及廣告業務場景,在這個場景下咱們須要大量的數據實時化的處理,好比實時推薦、實時排序、實時廣告等,對整個電商的核心業務有很是大的提高。併發

產品發展史

2017年,基於 Flink 的實時計算平臺產品,開始服務於整個阿里巴巴集團,同年雙11服務全集團的數據實時化,包括最核心的雙11的大屏。在2018年產品正式上雲,不只服務集團內,同時開始服務雲上中小企業,這也是第一次將實時計算 Flink 的產品以公共雲的形式對外提供服務。運維

2019年初,阿里巴巴收購了 Flink 的創始公司 - Ververica,阿里的 Flink 技術團隊-實時計算技術團隊和德國總部的Flink創始團隊順利會師,成爲了全球 Flink 技術最強的團隊,也共同推動了整個Apache Flink 開源社區的發展和貢獻。目前中國Apache Flink社區有超過20w的開發者參與到社區中,Flink成爲Apache基金會大數據領域最活躍的項目之一。機器學習

去年,在全球主流的雲計算公司和大數據公司,都大量採用 Flink 的技術推出了本身的 Flink 產品。好比借Hadoop起家的Cloudera也推出全面集成了 Flink 的CDP/CDH,國內的大數據公司也陸續推出了基於 Flink 的實時計算產品。函數

實時計算Flink版產品架構

阿里雲的實時計算產品架構和開源版本相比較,有很大的提升和增值。如今不少開發者在自建機房或者雲上虛擬機做業時都會使用開源的Apache Flink 去搭建本身的實時計算平臺。那麼阿里雲官方推出的實時計算Flink產品,它的特點是什麼呢?oop

產品架構

根據整個產品的架構圖,最底層是基於阿里雲的完善的雲原生的基礎設施,經過容器化來構建一套實時計算 Flink 的產品,全部的 Flink 的計算任務都運行在Kubernetes的生態之上,以容器化的方式進行多租戶的隔離,保障安全。同時它又是全託管的服務形態,在雲上提供高SLA保證的全託管服務,免除用戶運維的煩惱。並搭配service架構,用戶能夠更靈活的判斷各種資源的佔比,徹底配合本身的業務量來選擇,無需爲機器的規劃而煩惱。實時計算 Flink 版產品是一套自然的雲原生基礎架構。

在覈心計算引擎上,相對於開源的Apache Flink 阿里雲進行了多處核心功能的優化,這些優化也經過了阿里內部業務的錘鍊。目前實時計算 Flink 產品,支持了阿里集團將近100個事業部的實時數據服務。經過大量業務實踐,產品在支持存儲,調度、網絡傳輸等方面,都調試到最佳效果。

插件方面,產品內置幾十種加強型的Connector,能夠對接全部主流的開源數據存儲包括雲上像MySQL、 HBase、HDFS、阿里雲SLS等,自然集成、開箱即用。開發平臺方面,提供企業級的一站式的開發平臺,自帶開發和運維能力,免除自建煩惱,提升企業用戶總體使用感覺。

實時計算 Flink版支持SQL、Java、Python 等多語言開發環境,提供開發任務的全生命週期管理,可支持基於OIDC和RBAC的企業級安全機制,而且擁有基於Prometheus協議的全鏈路監控報警,同時提供自有AutoPilot的智能調優系統,智能地幫助用戶去對 Flink 任務進行參數的調優,包括資源的調優和併發度的調優。產品徹底能夠去自適應業務的流量,不須要人工作任何的調試(智能調優是實時計算Flink版產品的核心優點)

實時計算Flink版與開源Apache Flink的區別

實時計算 Flink 版的產品相對於開源產品,具備數10項的性能優點,經過開發、運維、成本、安全等角度進行對比。

產品對比

開發方面具有豐富的數據鏈接能力和一站式的多語言的開發環境,內置多種函數庫,方便用戶進行代碼調試,還能夠進行多租戶的開發,任務的調試,測試的模擬等等。運維方面支持全鏈路的監控報警,用戶在使用過程當中出現的數據延遲、數據異常、服務中斷等均可以進行自動報警。

智能運維方面支持自動化的智能診斷和調優,可以根據業務流量自動幫用戶進行性能調優、做業調優、參數調優和資源調優等,針對問題能夠進行診斷優化。資源層面在開源的基礎上,作到了更細粒度和更精細化的資源的調配,使得每一個做業每一個算子均可以在CPU和內存粒度上進行配置,大幅優化資源的利用率,幫助用戶節省成本,提高服務的穩定性,下降OM的機率。搭配原廠的運維兜底服務,SLA 99.9%的保證,以及全鏈路的容錯能力,系統穩定性的保證,充分解決用戶後顧之憂。

成本層面,經過雲上成本優化,在性能提高的同時下降用戶總體的TCO,這也是核心性能的優點。

基於NexMark的流計算的標準測試中,實時計算 Flink 版的產品性能約爲開源的3倍,依託阿里集團強大的研發團隊在內部核心業務場景下積累的實踐優化,使得產品在下降用戶的基礎成本上,突出核心優點。

實時計算Flink版還具有云原生的彈性擴容能力,可幫助用戶合理地節省資源,提升資源利用率。產品付費類型支持包年包月付費,也支持按量付費,更好地適配不一樣需求。

安全層面經過容器化的任務隔離,提升用戶使用感覺,而且支持租戶隔離、安全隔離、VPC隔離等等多種需求。同時與阿里的帳號體系直接打通,用戶能夠基於阿里雲的帳號無縫進行產品之間的安全管控,也支持基於角色、OIDC這種開放的身份認證協議,大大提升業務的安全性。

總體來講,企業版相對於開源版具備更優點的功能性和穩定性,除了運維方面的優點,開箱即用也讓用戶更加方便。

產品解決方案

產品解決方案

Flink 做爲實時計算的一個流式計算引擎,能夠處理多種實時數據,包括ECS在線服務日誌,IoT場景下傳感器數據等各種實時數據。同時能夠訂閱雲上數據庫RDS、PolarDB等這種關係型數據庫中 binlog的更新。再經過DataHub數據總線產品、SLS日誌服務、開源的Kafka消息隊列產品等將實時數據進行訂閱,收錄進實時計算產品中,進行實時的數據分析和處理。最終將分析結果寫入不一樣的數據服務中,好比MaxCompute、MaxCompute-Hologres交互式分析、PAI機器學習、Elasticsearch等產品中,根據業務需求選擇最佳數據服務產品,提升數據利用率。

Flink主要的應用場景就是將各類不一樣的實時數據源中的數據進行實時的訂閱、處理、分析,並把獲得的結果寫入到其餘的在線存儲之中,讓用戶直接生產使用。整個系統具備速度快,數據準,雲原生架構以及智能化等特色,是一款很是具備競爭力的企業級的產品。產品運行在阿里雲的容器服務ECS等IaaS系統上,跟阿里雲的各項系統自然打通,方便客戶適用更多場景。

產品應用場景

基於實時計算 Flink 版產品總結出4大應用場景,方便用戶根據需求輕鬆構建本身的業務實時計算解決方案。

產品應用場景

一、實時數倉

實時數倉主要應用在網站pv/uv統計、商品銷量統計、交易數據統計等各種交易型數據場景中。經過訂閱業務實時數據源,將信息實時秒級分析,最終呈如今大屏幕中給決策者使用,方便判斷企業經營情況和活動促銷的狀況。根據實時的商業運營數據做出決策,作到真正數據智能。因場景的特殊性,實時數據尤其重要,在瞬息萬變的業務互動中須要對上一分鐘甚至上一秒鐘發生的數據進行分析決策,實時計算是這種場景下最好的選擇。

二、實時推薦

實時推薦主要是根據用戶喜愛進行個性化推薦或者基於AI技術進行推薦,是一個主流的產品形態。常見於短視頻場景,電商購物場景,內容資訊場景等,經過以前的用戶點擊狀況實時判斷用戶喜愛,從而進行鍼對性推薦,增長用戶粘性。這種是實時性很是強的場景,能夠經過Flink 技術結合AI技術進行實時推薦場景的運做。

三、ETL場景

實時的ETL場景常見於數據同步做業中,在數據同步的過程當中還要作數據計算處理。好比數據庫中不一樣表的同步、轉化、不一樣數據庫的同步,或者是進行數據聚合預處理等操做。最終將結果寫入數倉/數據湖進行歸檔沉澱,爲後續深度分析進行前期準備工做,方便用戶進行後續的日誌類分析等操做。在整個的數據同步和處理鏈路上,基於 Flink 作這種實時化數據的同步和預處理是很是高效的。

四、實時監控

實時監控常見於金融類或者是交易類業務場景下,針對行業的獨特性,須要有商業化的反做弊監管,根據實時短期以內的行爲,斷定用戶是否爲做弊用戶,作到及時止損。該場景對時效性要求極高,經過對異常數據檢測,能夠實時發現異常狀況而作出一個止損的行爲。收集 指標或者日誌等統計各個系統的指標,對指標進行實時的觀察和監控等等需求場景,都是能夠經過實時計算 Flink 產品解決的。

產品官網:https://www.aliyun.com/product/bigdata/sc

本文內容由阿里雲實名註冊用戶自發貢獻,版權歸原做者全部,阿里雲開發者社區不擁有其著做權,亦不承擔相應法律責任。具體規則請查看《阿里雲開發者社區用戶服務協議》和《阿里雲開發者社區知識產權保護指引》。若是您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將馬上刪除涉嫌侵權內容。