Categories
程式開發

Flink基礎教程(三):生產環境中的Flink


編者按:本文節選自圖靈程序設計叢書 《Flink基礎教程》一書中的部分章節。

生產環境中的Flink

本章旨在探討為何選擇 Flink。一個好的方法是聽聽在生產環境中使用 Flink 的開發人員解釋他們選擇 Flink 的原因,以及如何使用它。

布衣格電信

布衣格電信(Bouygues Telecom)是法國第三大移動通信運營商,隸屬世界 500 強企業布衣格集團。布衣格電信使用 Flink 來進行實時事件處理,每天不間斷地分析數十億條消息。 2015 年 6 月,在為 data Artisans 的博客撰寫的文章中,Mohamed Amine Abdessemed1 描述了布衣格電信的目標以及 Flink 為什麼能實現這些目標。

1 他在布衣格電信負責技術系統。 ——編者註

……布衣格電信最終選擇了 Flink,因為它支持真正的流處理——通過上層的 API 和下層的執行引擎都能實時進行流處理,這滿足了我們對可編程性和低延遲的需求。此外,使用 Flink,我們的系統得以快速上線,這是其他任何一種方案都做不到的。如此一來,我們就有了更多的人手開發新的業務邏輯。

Mohamed Amine Abdessemed 在於 2015 年 10 月舉行的 Flink Forward 研討會上也做了報告。布衣格電信試圖給其工程師實時提供關於用戶體驗的反饋,讓他們了解公司遍布全球的網絡正在發生什麼,並從網絡的演進和運行的角度掌握發展動向。

為了實現這個目標,他們的團隊搭建了一個用來分析網絡設備日誌的系統,它定義了衡量用戶體驗質量的各項指標。該系統每天處理 20 億次事件,要求端到端延遲不超過 200 毫秒(包括由傳輸層負責的消息發布和由 Flink 操作的數據處理)。這些都在一個僅有 10 個節點(每個節點 1GB 內存)的小集群上完成。布衣格電信還希望這些經過部分處理的數據能被復用,從而在互不干擾的前提下滿足各種商業智能分析需求。

該公司打算利用 Flink 的流處理能力來轉換和挖掘數據。加工後的數據被推送回消息傳輸系統,以保證數據可以被不同的用戶使用。

相比於其他處理方案,比如在數據進入消息隊列之前進行處理,或者將數據分派給消費同一個消息隊列的多個應用程序來分頭處理,Flink 的處理方案更合適。

布衣格電信利用 Flink 的流處理能力完成了數據處理和數據遷移,它既滿足了低延遲的要求,又具有很高的可靠性、可用性,以及易用性。 Flink 為調試工作提供了極大的便利,甚至支持切換到本地進行調試。它也支持程序可視化,有利於理解程序的運行原理。此外,Flink 的 API 吸引了很多開發人員和數據科學家。 Mohamed Amine Abdessemed 在其文章中還提及布衣格電信的其他團隊使用 Flink 解決了不同的問題。

其他案例

King公司

King 公司的遊戲非常流行,全世界幾乎每時每刻都有人在玩它的在線遊戲。作為在線娛樂行業的佼佼者,該公司稱自己已經開發了 200 多款遊戲,市場覆蓋 200 多個國家和地區。

King 公司的工程師曾在一篇博客文章中寫道:“我們每月有超過3 億的獨立用戶,每天從不同的遊戲和系統中收到300 億次事件,基於這麼大的數據量做任何流分析都是真正的技術挑戰。因此,為我們的數據分析師開發工具來處理如此大規模的流數據,同時保證數據在應用中具有最大的靈活性,這些對於公司而言至關重要。”

King 公司用 Flink 構建的系統讓其數據分析師得以實時地獲取大量的流數據。 Flink 的成熟度給他們留下了深刻的印象。即使面對像 King 公司這樣複雜的應用環境,Flink 也能很好地提供支持。

Zalando公司

作為歐洲領先的在線時尚平台,Zalando 公司在全球擁有超過 1600 萬的客戶。該公司的網站將其組織結構描述為“多個敏捷、自主的小型團隊”(換句話說,該公司採用了微服務架構)。

流處理架構為微服務提供了良好的支持。因此,Flink 提供的流處理能力滿足了這種工作模式的需求,特別是支持業務流程監控和持續的 ETL2 過程。

2 ETL 是 Extract、Transform 和 Load 的縮寫,即抽取、轉換和加載。 ——編者註

Otto集團

Otto 集團是全球第二大 B2C(business to consumer,企業對顧客電子商務)在線零售商,也是歐洲時尚和生活領域最大的 B2C 在線零售商。

它的商業智能部門在最初開始評估開源流處理平台時,沒有找到一種能夠符合其要求的平台,所以後來決定開發自己的流處理引擎。但是當試過 Flink 之後,該部門發現 Flink 滿足了他們對流處理的所有需求,包括對眾包用戶代理的鑑定,以及對檢索事件的辨識。

ResearchGate

從活躍用戶的數量上看,ResearchGate 是最大的學術社交網絡。它從 2014 年開始使用 Flink 作為其數據基礎設施的一個主要工具,負責批處理和流處理。

阿里巴巴集團

阿里巴巴這個龐大的電子商務集團為買方和賣方提供平台。其在線推薦功能是通過基於 Flink 的系統 Blink 實現的。用戶當天所購買的商品可以被用作在線推薦的依據,這是使用像 Flink 這樣真正意義上的流處理引擎能夠帶來的好處之一。並且,這在那些用戶活躍度異常高的特殊日期(節假日)尤其重要,也是高效的流處理相較於批處理的優勢之一。

圖書簡介https://www.ituring.com.cn/book/2036

Flink基礎教程(三):生產環境中的Flink 1

編者按:本文節選自圖靈程序設計叢書 《Flink基礎教程》一書中的部分章節。

生產環境中的Flink

本章旨在探討為何選擇 Flink。一個好的方法是聽聽在生產環境中使用 Flink 的開發人員解釋他們選擇 Flink 的原因,以及如何使用它。

布衣格電信

布衣格電信(Bouygues Telecom)是法國第三大移動通信運營商,隸屬世界 500 強企業布衣格集團。布衣格電信使用 Flink 來進行實時事件處理,每天不間斷地分析數十億條消息。 2015 年 6 月,在為 data Artisans 的博客撰寫的文章中,Mohamed Amine Abdessemed1 描述了布衣格電信的目標以及 Flink 為什麼能實現這些目標。

1 他在布衣格電信負責技術系統。 ——編者註

……布衣格電信最終選擇了 Flink,因為它支持真正的流處理——通過上層的 API 和下層的執行引擎都能實時進行流處理,這滿足了我們對可編程性和低延遲的需求。此外,使用 Flink,我們的系統得以快速上線,這是其他任何一種方案都做不到的。如此一來,我們就有了更多的人手開發新的業務邏輯。

Mohamed Amine Abdessemed 在於 2015 年 10 月舉行的 Flink Forward 研討會上也做了報告。布衣格電信試圖給其工程師實時提供關於用戶體驗的反饋,讓他們了解公司遍布全球的網絡正在發生什麼,並從網絡的演進和運行的角度掌握發展動向。

為了實現這個目標,他們的團隊搭建了一個用來分析網絡設備日誌的系統,它定義了衡量用戶體驗質量的各項指標。該系統每天處理 20 億次事件,要求端到端延遲不超過 200 毫秒(包括由傳輸層負責的消息發布和由 Flink 操作的數據處理)。這些都在一個僅有 10 個節點(每個節點 1GB 內存)的小集群上完成。布衣格電信還希望這些經過部分處理的數據能被復用,從而在互不干擾的前提下滿足各種商業智能分析需求。

該公司打算利用 Flink 的流處理能力來轉換和挖掘數據。加工後的數據被推送回消息傳輸系統,以保證數據可以被不同的用戶使用。

相比於其他處理方案,比如在數據進入消息隊列之前進行處理,或者將數據分派給消費同一個消息隊列的多個應用程序來分頭處理,Flink 的處理方案更合適。

布衣格電信利用 Flink 的流處理能力完成了數據處理和數據遷移,它既滿足了低延遲的要求,又具有很高的可靠性、可用性,以及易用性。 Flink 為調試工作提供了極大的便利,甚至支持切換到本地進行調試。它也支持程序可視化,有利於理解程序的運行原理。此外,Flink 的 API 吸引了很多開發人員和數據科學家。 Mohamed Amine Abdessemed 在其文章中還提及布衣格電信的其他團隊使用 Flink 解決了不同的問題。

其他案例

King公司

King 公司的遊戲非常流行,全世界幾乎每時每刻都有人在玩它的在線遊戲。作為在線娛樂行業的佼佼者,該公司稱自己已經開發了 200 多款遊戲,市場覆蓋 200 多個國家和地區。

King 公司的工程師曾在一篇博客文章中寫道:“我們每月有超過3 億的獨立用戶,每天從不同的遊戲和系統中收到300 億次事件,基於這麼大的數據量做任何流分析都是真正的技術挑戰。因此,為我們的數據分析師開發工具來處理如此大規模的流數據,同時保證數據在應用中具有最大的靈活性,這些對於公司而言至關重要。”

King 公司用 Flink 構建的系統讓其數據分析師得以實時地獲取大量的流數據。 Flink 的成熟度給他們留下了深刻的印象。即使面對像 King 公司這樣複雜的應用環境,Flink 也能很好地提供支持。

Zalando公司

作為歐洲領先的在線時尚平台,Zalando 公司在全球擁有超過 1600 萬的客戶。該公司的網站將其組織結構描述為“多個敏捷、自主的小型團隊”(換句話說,該公司採用了微服務架構)。

流處理架構為微服務提供了良好的支持。因此,Flink 提供的流處理能力滿足了這種工作模式的需求,特別是支持業務流程監控和持續的 ETL2 過程。

2 ETL 是 Extract、Transform 和 Load 的縮寫,即抽取、轉換和加載。 ——編者註

Otto集團

Otto 集團是全球第二大 B2C(business to consumer,企業對顧客電子商務)在線零售商,也是歐洲時尚和生活領域最大的 B2C 在線零售商。

它的商業智能部門在最初開始評估開源流處理平台時,沒有找到一種能夠符合其要求的平台,所以後來決定開發自己的流處理引擎。但是當試過 Flink 之後,該部門發現 Flink 滿足了他們對流處理的所有需求,包括對眾包用戶代理的鑑定,以及對檢索事件的辨識。

ResearchGate

從活躍用戶的數量上看,ResearchGate 是最大的學術社交網絡。它從 2014 年開始使用 Flink 作為其數據基礎設施的一個主要工具,負責批處理和流處理。

阿里巴巴集團

阿里巴巴這個龐大的電子商務集團為買方和賣方提供平台。其在線推薦功能是通過基於 Flink 的系統 Blink 實現的。用戶當天所購買的商品可以被用作在線推薦的依據,這是使用像 Flink 這樣真正意義上的流處理引擎能夠帶來的好處之一。並且,這在那些用戶活躍度異常高的特殊日期(節假日)尤其重要,也是高效的流處理相較於批處理的優勢之一。

圖書簡介https://www.ituring.com.cn/book/2036

Flink基礎教程(三):生產環境中的Flink 1

相關閱讀

Flink基礎教程(一):流處理技術的演變

Flink基礎教程(二):初探Flink