【干货】Kafka实现淘宝亿万级数据统计(上)
2019獨角獸企業重金招聘Python工程師標準>>>
在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
轉載于:https://my.oschina.net/u/4088839/blog/3021650
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的【干货】Kafka实现淘宝亿万级数据统计(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: runloop - 面试题
- 下一篇: Java程序员---技能树