開發與維運

《實時計算 Flink 版總體介紹 》

本文整理自直播《實時計算 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產品,它的特色是什麼呢?

產品架構

根據整個產品的架構圖,最底層是基於阿里雲的完善的雲原生的基礎設施,通過容器化來構建一套實時計算 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大應用場景,方便用戶根據需求輕鬆構建自己的業務實時計算解決方案。

產品應用場景

1、實時數倉

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

2、實時推薦

實時推薦主要是根據用戶喜好進行個性化推薦或者基於AI技術進行推薦,是一個主流的產品形態。常見於短視頻場景,電商購物場景,內容資訊場景等,通過之前的用戶點擊情況實時判斷用戶喜好,從而進行針對性推薦,增加用戶粘性。這種是實時性非常強的場景,可以通過Flink 技術結合AI技術進行實時推薦場景的運作。

3、ETL場景

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

4、實時監控

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

產品官網:https://www.aliyun.com/product/bigdata/sc
想要了解更多實時計算 Flink 版信息,歡迎加入“實時計算Flink產品交流群”

test

推薦活動:

首月10CU 99元試用,另有Flink定製T恤隨機贈送!
瞭解活動詳情:https://www.aliyun.com/product/bigdata/sc

99試用隨機領T恤-02-02.png

Leave a Reply

Your email address will not be published. Required fields are marked *