在中國HBase技術社群第十屆Meetup杭州站上,阿裡巴巴進階産品工程師高旸為大家分享了實時計算技術相關的發展背景,并介紹了基于Flink+HBase的實時計算場景化解決方案,并對于線上教育、城市大腦、實時風控等典型的實時計算方案應用場景進行了介紹。
演講嘉賓簡介:高旸(花名:吾與),阿裡雲計算平台事業部實時計算進階産品專家。
以下内容根據演講視訊以及PPT整理而成。
阿裡雲實時計算團隊一直都在思考一個問題,那就是“如今,在客戶所面對的實時計算場景越來越複雜的情況之下,單一的産品是否能夠解決客戶的所有需求?”是以,也就有了本次分享的主題,也就是Flink+HBase所提供實時計算場景解決方案。
實時計算市場競争分析——傳統廠商
在實時計算的市場中,IBM以及Oracle等傳統IT廠商布局和起步比較早,是以其所能夠提供的場景也就非常豐富,無論是2B還是2C,這些傳統廠商都擁有非常豐富的産品。但是,他們所提供的産品往往也比較昂貴,并且需要本地化的部署。除此之外,在雲化的過程中,IBM和Oracle的整體表現也欠佳,是以這些傳統廠商也在積極地尋求更多雲化的場景。

實時計算市場競争分析——雲廠商
除了上述所提到的傳統IT巨頭之外,很多的雲計算廠商也正在實時計算方面積極地進行布局。比如Google在大資料相關領域一直在進行投入,其也在2014年的時候進軍實時計算領域,Google在實時計算領域的主打産品就是Dataflow。微軟Azure和AWS分别在2015年和2016年進入實時計算領域,阿裡雲和華為同在2017年進入實時計算領域,而騰訊雲則是在2018年剛開始布局。總之,雲廠商在實時計算領域起步都比較晚,所涉及的場景也比較淺,但是在價格比較具有優勢,是以未來的發展空間是巨大的。
業界開源技術生态分析
目前,在業界的實時計算以及流計算領域,開源技術生态主要産出了三代産品:第一代産品以Storm為代表,第二代以Spark為代表,第三代則以Flink為代表。這裡重點介紹一下Flink,Flink是有狀态的實時計算處理引擎,而正式因為Flink具有狀态,是以其非常适合在事件處理上做一些場景化的解決方案,并且可以進一步演化為微服務架構,是以Flink也是一項非常适合微服務場景的技術。
同時,大家也可以看到從去年到今年的年初的這段時間裡面,Flink也是整個Apache社群中使用者最為活躍的項目。但是,阿裡雲實時計算團隊在使用中也發現,Flink還是一個偏向于PaaS層的技術,而客戶無法直接通過使用Flink來解決自己的場景化需求,在Flink的前面需要像Kafka這樣的工具實作資料的導入,在其後面還需要一些像HBase這樣的存儲工具幫助實作資料的存儲。是以,想要通過Flink解決實時計算場景的問題,還是需要一整套生态來幫助。
Flink容器化解決方案——架構
阿裡雲實時計算團隊一直在思考如何将這些開源技術整合到一起,使得他們能夠真正地解決客戶所面對的問題,幫助客戶解決“最後一公裡”的問題。因為像Flink這樣PaaS層的工具,如果無法幫助客戶解決這“最後一公裡”的問題,那麼産品就不會被客戶所接受。在阿裡雲的Flink容器化解決方案中,底層建構在Google的K8S的容器上,在上端除了導入了Flink的實時計算引擎之外,在架構中還将Flink上遊的Kafka和下遊的HBase等元件也加入進來。是以,Flink容器化解決方案在Google的K8S架構下,能夠提供所有的資料處理能力。如果客戶還有其他的需求,還可以将相應的服務以K8S的Orchestra方式添加進來。
在架構中更上面的一層,阿裡雲Flink容器化解決方案希望能夠提供更加貼近使用者的SaaS層服務。在實時計算+Flink或者HBase方面,阿裡雲實時計算團隊針對于自身所服務的客戶進行了使用者畫像,最終抽象出了針對于幾個主要的行業的容器化服務,比如針對于安全行業以及城市大腦等的規則引擎,針對于銀行以及其他風控領域的決策引擎,此外還有針對于語音處理、自然語言處理以及視訊分析的場景,并且還有實時線上資料分析以及實時人工智能的場景。
除此之外,阿裡雲實時計算團隊還希望在基礎的服務層之上将一些更貼近客戶的“PaaS+”服務也整合進來,于是在Flink容器化解決方案的架構中還為客戶提供了系統管理者界面和使用者開發界面。是以,對于阿裡雲的Flink容器化解決方案而言,主要就是按照以上的思路去設計更加細化的、鏡像技術疊加的解決方案和産品。
實時容器化計算解決方案——生态合作夥伴
對于阿裡雲的實時容器計算解決方案而言,非常希望能夠引入更多的生态合作夥伴,希望更多的在垂直領域具有豐富經驗的合作夥伴能夠不斷加入進來,将更多的偏向于SaaS層的解決方案建構在該平台之上,比如增加更多可插拔的或者更加易用的解決方案,成為産品或者解決方案的分銷管道或者傳遞管道,承擔擴容、傳遞以及售後服務的通道。阿裡雲非常希望通過生态或者管道等方式共同建構起融合Flink、HBase以及Kafka等産品的實時容器化計算生态,建構産品形态的端到端閉環。
Flink實時計算的典型場景
如下圖所示的是阿裡雲Flink實時計算的典型場景,該産品于2018年10月正式上線,經過上線之後的半年時間,通過阿裡雲對于客戶進行的使用者畫像和分析發現,雲上的很多實時計算産品在使用程度上還是較淺的。目前,雲上實時計算産品大緻能夠觸達3個主要的領域,即資料分析、事件驅動和資料處理。
對于資料分析類場景而言,主要的産品就是實時資料大屏,比如在阿裡雙11也有超級資料大屏的展示,實時資料大屏裡面就包括了實時的BI等場景和解決方案。對于事件驅動類場景,主要的産品就是實時監控和實時風控相關的産品,因為Flink是有狀态的,是以其天生就具備事件處理能力。而在實際的場景中發現,很多客戶會組合規則引擎、決策引擎以及名額監控和調優等多種場景。更進一步就是資料處理類的場景,其實Flink+HBase屬于強計算場景,是以也希望能夠出現更多的強計算場景,比較常見就像是城市交通大腦,如今全國很多城市都部署了大量的交通攝像頭,每天都會産生大量視訊監控資料,是以需要強計算場景進行支撐。此外,比如線上教育等領域,也有很多的視訊沉澱下來。對于實時資料處理而言,需要在生産或者生活等方面尋找能夠産生大量資料的場景,阿裡雲也希望在這樣的場景下提供更多的能力和服務。
線上教育——實時視訊分析場景
阿裡雲實時計算團隊通過前期和客戶的深入溝通沉澱了很多場景,如下圖所示的就是線上教育的實時視訊分析場景。阿裡雲之前在城市大腦等領域對于實時視訊分析探索得較為充分,但是在偏向于民用的領域,尤其是在與日常生活相關的方面,實時視訊分析解決方案的應用還不夠深入。是以,從2018年底到2019年初的這段時間裡,阿裡雲實時計算團隊和中國頂尖的線上教育領域的獨角獸公司進行了多輪深入的溝通,充分地挖掘了這些客戶在實時視訊分析領域的一些需求。從大體上可以認為,線上教育領域對于通過視訊分析來判斷課程品質、監督課程進展狀況具有很強烈的需求,而阿裡雲認為Flink+HBase+Kafka這樣的實時容器化計算解決方案在像線上教育這樣的民用視訊分析領域可以發揮很好的作用。
線上教育——實時預測場景
對于線上教育領域而言,除了上面所提到的實時視訊分析場景之外,還存在着實時預測的場景。比如線上教育平台上可能每天的每個時段都會有大量的課程開放出來,是以就會産生大量的視訊資料,在這些課程中間往往會有大約5分鐘的課間。而在這5分鐘的課間時間,線上教育平台就希望能夠對于所有的網絡和伺服器等基礎設施以及平台系統的運作狀況進行評估,通過借助機器學習進行預測,預測平台在未來的30分鐘内還能夠開放出多少門課程,這也是Flink+HBase在Online的機器學習方面的一個應用場景。針對于這樣的場景,阿裡雲實時計算團隊也正在和客戶進行探讨,希望能夠在這樣的場景下實作更多具有參考價值的優秀案例。
城市大腦——實時視訊分析場景
如下圖所示的就是阿裡巴巴投入較多的城市大腦項目。城市大腦目前已經在杭州、上海以及海口等多個城市落地,其底層就是通過實時計算與HBase的組合,進而實作對于整個視訊流的處理和分析。這些被處理的視訊資料往往來自于城市中的高清攝像頭,這些高清攝像頭能夠實時地擷取大量的資料并傳輸到城市大腦中。而想要通過城市大腦實作紅綠燈的實時調配就需要Flink構成的資料實時處理平台,資料處理之後再将整個動态視訊資料所産生的特征值以及相關名額都存儲到HBase裡面,并在後續疊加多種類型的算法對資料進行分析,進而實作對整個城市交通的智能化治理。這是實時視訊分析處理的典型場景,同時也是目前中國一線城市和諸多省會級城市都在實踐的場景。
實時欺詐檢測(風控)場景
如下圖所示的是實時欺詐檢測的場景,也就是風控場景。對于風控而言,不僅有金融類的風控,還有營銷類的風控等,類型多種多樣。拿營銷類風控來舉例子,首先,使用者的行為經過APP上報或者Web日志記錄下來,之後發送到一個消息隊列中去,然後通過風險模型和規則引擎進行實時計算,進而産生一些消息預警。