【乾貨】Kafka實現淘寶億萬級數據統計(上)

在ActiveMQ、RabbitMQ、RocketMQ、Kafka消息中間件之間,咱們爲何要選擇Kafka?數據庫

下面詳細介紹一下,2012年9月份我在支付寶作餘額寶研發,2013年6月支付寶正式推出餘額寶,2013年8月擔任支付寶淘寶彩票項目經理帶領兄弟們一塊兒作研發,期間須要與淘寶和500萬對接競彩接口數據。緩存

經過業餘時間與淘寶同事溝通,瞭解到天貓在電商節如何處理大數據?技術架構上採用了哪些策略?session

一、應用無狀態(淘寶session框架)架構

二、有效使用緩存(Tair)併發

三、應用拆分(HSF)框架

四、數據庫拆分(TDDL)異步

五、異步通訊(Notify)分佈式

六、非結構化數據存儲 ( TFS,NOSQL)學習

七、監控、預警系統大數據

八、配置統一管理

天貓的同事把大體的架構跟我描述了一番,心有感悟。我們來看一下2018年雙11當天的成交額。

2、kafka實現天貓億萬級數據統計架構

Flume是Cloudera提供的一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各類數據接受方(可定製)的能力。

Data Access:數據通道

Computing:計算

Persistence:執行保存方式

spout:表示一個流的源頭,產生tuple

bolt:處理輸入流併產生多個輸出流,能夠作簡單的數據轉換計算,複雜的流處理通常須要通過多個bolt進行處理。

爲何不能用分佈式文件HDFS集羣?

一、實時性:hdfs的實時性沒有kafka高。

二、消費量的記錄:hdfs不會記錄你這個塊文件消費到了哪裏,而基於zookeeper的kafka會記錄你消費的點。

三、併發消費:hdfs不支持併發消費,而kafka支持併發消費,即多個consumer。

四、彈性且有序:當數據量會很大,並且處理完以後就能夠刪除時,頻繁的讀寫會對hdfs中NameNode形成很大的壓力。而kafka的消費點是記錄在zookeeper的,而且kafka的每條數據都是有「座標」的,因此消費的時候只要這個「座標」向後移動就好了,並且刪除的時候只要把這個「座標」以前的數據刪掉便可。

3、什麼是Kafka?

經過上圖就能夠了解到,生產者Producers(農民和廚師),消費主題top(魚,骨頭,草,香蕉),消費者Comsumer(貓,狗,老牛,猴子),生產者根據消費主題獲取本身想要的食物。

4、Kafka架構原理

歡迎加入Java進階架構交流:加入142019080。

直接點擊連接加羣。https://jq.qq.com/?_wv=1027&k=5lXBNZ7 獲取最新學習資料

相關文章
相關標籤/搜索