1. 程式人生 > >【幹貨】Kafka實現淘寶億萬級數據統計(上)

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

java 生產者 keep 經理 cap enc 余額寶 有感 能力

在ActiveMQ、RabbitMQ、RocketMQ、Kafka消息中間件之間,我們為什麽要選擇Kafka?

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

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

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

2、有效使用緩存(Tair)

3、應用拆分(HSF)

4、數據庫拆分(TDDL)

5、異步通信(Notify)

6、非結構化數據存儲 ( TFS,NOSQL)

7、監控、預警系統

8、配置統一管理

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

技術分享圖片

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

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

技術分享圖片

Data Access:數據通道

Computing:計算

Persistence:執行保存方式

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

bolt:處理輸入流並產生多個輸出流,可以做簡單的數據轉換計算,復雜的流處理一般需要經過多個bolt進行處理。

為什麽不能用分布式文件HDFS集群?

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

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

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

4、彈性且有序:當數據量會很大,而且處理完之後就可以刪除時,頻繁的讀寫會對hdfs中NameNode造成很大的壓力。而kafka的消費點是記錄在zookeeper的,並且kafka的每條數據都是有“坐標”的,所以消費的時候只要這個“坐標”向後移動就行了,而且刪除的時候只要把這個“坐標”之前的數據刪掉即可。

三、什麽是Kafka?

技術分享圖片

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

四、Kafka架構原理

技術分享圖片

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

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

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