知名大廠是如何搭建大數據平台架構的?

阿福班主任 發佈 2020-04-18T13:09:44+00:00

美團大數據平台美團大數據平台的數據源來自 MySQL 資料庫和日誌,資料庫通過 Canal 獲得 MySQL 的binlog,輸出給消息隊列 Kafka,日誌通過 Flume也輸出到 Kafka。

今天我們來看一下淘寶、美團和滴滴的大數據平台,一方面進一步學習大廠大數據平台的架構,另一方面也學習大廠的工程師如何畫架構圖。通過大廠的這些架構圖,你就會發現,不但這些知名大廠的大數據平台設計方案大同小異,架構圖的畫法也有套路可以尋覓。

淘寶大數據平台

淘寶可能是中國網際網路業界較早搭建了自己大數據平台的公司,下圖是淘寶早期的Hadoop 大數據平台,比較典型。

淘寶的大數據平台基本也是分成三個部分,上面是數據源與數據同步;中間是雲梯 1,也就是淘寶的 Hadoop 大數據集群;下面是大數據的應用,使用大數據集群的計算結果。

數據源主要來自 Oracle 和MySQL 的備庫,以及日誌系統和爬蟲系統,這些數據通過數據同步網關伺服器導入到 Hadoop 集群中。其中 DataExchange 非實時全量同步資料庫數據,DBSync 實時同步資料庫增量數據,TimeTunnel 實時同步日誌和爬蟲數據。數據全部寫入到 HDFS 中。

在 Hadoop 中的計算任務會通過天網調度系統,根據集群資源和作業優先級,調度作業的提交和執行。計算結果寫入到 HDFS,再經過 DataExchange 同步到 MySQL 和 Oracle 資料庫。處於平台下方的數據魔方、推薦系統等從資料庫中讀取數據,就可以實時響應用戶的操作請求。

淘寶大數據平台的核心是位於架構圖左側的天網調度系統,提交到 Hadoop 集群上的任務需要按序按優先級調度執行,Hadoop 集群上已經定義好的任務也需要調度執行,何時從資料庫、日誌、爬蟲系統導入數據也需要調度執行,何時將 Hadoop 執行結果導出到應用系統的資料庫,也需要調度執行。可以說,整個大數據平台都是在天網調度系統的統一規劃和安排下進行運作的。

DBSync、TimeTunnel、DataExchange 這些數據同步組件也是淘寶內部開發的,可以針對不同的數據源和同步需求進行數據導入導出。這些組件淘寶大都已經開源,我們可以參考使用。

美團大數據平台

美團大數據平台的數據源來自 MySQL 資料庫和日誌,資料庫通過 Canal 獲得 MySQL 的binlog,輸出給消息隊列 Kafka,日誌通過 Flume也輸出到 Kafka。

Kafka 的數據會被流式計算和批處理計算兩個引擎分別消費。流處理使用 Storm 進行計算,結果輸出到 HBase 或者資料庫。批處理計算使用 Hive 進行分析計算,結果輸出到查詢系統和 BI(商業智能)平台。

數據分析師可以通過 BI 產品平台進行交互式的數據查詢訪問,也可以通過可視化的報表工具查看已經處理好的常用分析指標。公司高管也是通過這個平台上的天機系統查看公司主要業務指標和報表。

美團大數據平台的整個過程管理通過調度平台進行管理。公司內部開發者使用數據開發平台訪問大數據平台,進行 ETL(數據提取、轉換、裝載)開發,提交任務作業並進行數據管理。

滴滴大數據平台

滴滴大數據平台分為實時計算平台(流式計算平台)和離線計算平台(批處理計算平台)兩個部分。

實時計算平台架構如下。數據採集以後輸出到 Kafka 消息隊列,消費通道有兩個,一個是數據 ETL,使用 Spark Streaming 或者 Flink 將數據進行清洗、轉換、處理後記錄到 HDFS 中,供後續批處理計算。另一個通道是 Druid,計算實時監控指標,將結果輸出到報警系統和實時圖表系統 DashBoard。

離線計算平台架構如下。滴滴的離線大數據平台是基於 Hadoo 2(HDFS、Yarn、MapReduce)和 Spark 以及 Hive 構建,在此基礎上開發了自己的調度系統和開發系統。調度系統和前面其他系統一樣,調度大數據作業的優先級和執行順序。開發平台是一個可視化的 SQL 編輯器,可以方便地查詢表結構、開發 SQL,並發布到大數據集群上。

此外,滴滴還對 HBase 重度使用,並對相關產品(HBase、Phoenix)做了一些自定義的開發,維護著一個和實時、離線兩個大數據平台同級別的 HBase 平台,它的架構圖如下。

來自於實時計算平台和離線計算平台的計算結果被保存到 HBase 中,然後應用程式通過 Phoenix 訪問 HBase。而Phoenix 是一個構建在 HBase 上的 SQL 引擎,可以通過 SQL 方式訪問 HBase 上的數據。

小結

你可以看到,這些知名大廠的大數據平台真的是大同小異,他們根據各自場景和技術棧的不同,雖然在大數據產品選型和架構細節上略有調整,但整體思路基本上都是一樣的。

不過也正是這種大同小異,讓我們從各個角度更加了解大數據平台架構,對大數據平台架構有了更加深刻的認知。

碼字不易,如果您覺得文章寫得不錯:

請您 1.關注作者~ 您的關注是我寫作的最大動力

2.私信我「大數據」

我將與您分享一套最新的大數據學習教程和全套開發工具

關鍵字: