今天我們來看一下淘寶、美團和滴滴的大數據平臺,一方面進一步學習大廠大數據平臺的架構,另一方面也學習大廠的工程師如何畫架構圖。通過大廠的這些架構圖,你就會發現,不但這些知名大廠的大數據平臺設計方案大同小異,架構圖的畫法也有套路可以尋覓。 淘寶大數據平臺 淘寶可能是中國互聯網業界較早搭建了自己大數據平臺 ...
今天我們來看一下淘寶、美團和滴滴的大數據平臺,一方面進一步學習大廠大數據平臺的架構,另一方面也學習大廠的工程師如何畫架構圖。通過大廠的這些架構圖,你就會發現,不但這些知名大廠的大數據平臺設計方案大同小異,架構圖的畫法也有套路可以尋覓。
淘寶大數據平臺
淘寶可能是中國互聯網業界較早搭建了自己大數據平臺的公司,下圖是淘寶早期的 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 上的數據。
小結
你可以看到,這些知名大廠的大數據平臺真的是大同小異,他們根據各自場景和技術棧的不同,雖然在大數據產品選型和架構細節上略有調整,但整體思路基本上都是一樣的。
不過也正是這種大同小異,讓我們從各個角度更加瞭解大數據平臺架構,對大數據平臺架構有了更加深刻的認知。