知名大廠如何搭建大數據平臺&架構

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

淘寶大數據平臺服務器

淘寶多是中國互聯網業界較早搭建了本身大數據平臺的公司,下圖是淘寶早期的 Hadoop 大數據平臺,比較典型。架構

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

數據源主要來自 Oracle 和 MySQL 的備庫,以及日誌系統和爬蟲系統,這些數據經過數據同步網關服務器導入到 Hadoop 集羣中。其中 DataExchange 非實時全量同步數據庫數據,DBSync 實時同步數據庫增量數據,TimeTunnel 實時同步日誌和爬蟲數據。數據所有寫入到 HDFS 中。編輯器

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

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

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

美團大數據平臺大數據

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

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 上的數據。

小結

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

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

相關文章
相關標籤/搜索