寫(xiě)在最前
此處省略許多字......
Paste_Image.png
重要說(shuō)明
- 由于模塊較多姨涡,其中除了hive模塊沒(méi)有使用Redis,其它模塊都使用了Redis揍庄,但是只畫(huà)出了重要的連線。
- 除Hive模塊之外堪遂,其它所有模塊都使用了數(shù)據(jù)庫(kù),也只畫(huà)出了重要部分連線萌庆。
- Web溶褪、Storm、Parse踊兜、Thrift都使用了Zookeeper竿滨,也只畫(huà)出了重要部分連線。
- 數(shù)據(jù)庫(kù)集群也有另外幾種數(shù)據(jù)庫(kù)捏境,這里統(tǒng)稱為DDB Cluster于游。
- 圖中的協(xié)議Flume代表使用Flume作為收集源文件內(nèi)容的工具。
- API針對(duì)APP使用SDK的手機(jī)用戶垫言,WEB模塊針對(duì)接入SDK的開(kāi)發(fā)者用戶贰剥,圖中沒(méi)有做詳細(xì)區(qū)分。
數(shù)據(jù)流
- 手機(jī)客戶端請(qǐng)求API筷频,經(jīng)過(guò)負(fù)載均衡器到達(dá)API蚌成。為了盡可能降低API的響應(yīng)時(shí)間,API直接使用異步IO的方式凛捏,把請(qǐng)求中的消息批量的發(fā)給Kafka集群担忧。
- JMS批量的從Kafka取消息進(jìn)行消費(fèi),并進(jìn)行相應(yīng)的處理坯癣;處理完成后瓶盛,把處理結(jié)果采用固定格式的方式打到日志文件中。然后示罗,F(xiàn)lume Agent增量的收集日志文件內(nèi)容惩猫,并發(fā)給Kafka集群的另一個(gè)Topic,同時(shí)在Hadoop集群中也存放一份作為備份蚜点。在打日志的過(guò)程中轧房,同時(shí)會(huì)把數(shù)據(jù)插入到HBase一份,目的是:作為出問(wèn)題時(shí)的數(shù)據(jù)恢復(fù)绍绘。
- Storm集群從Kafka的Topic中取消息進(jìn)行消費(fèi)奶镶,經(jīng)過(guò)Spout和Bolt的處理后,把統(tǒng)計(jì)結(jié)果存放到Redis中脯倒; Web模塊查詢Redis中數(shù)據(jù)展示給用戶实辑。
- Schedule定時(shí)任務(wù)定時(shí)的從Redis中同步數(shù)據(jù)到數(shù)據(jù)庫(kù)中或者從數(shù)據(jù)庫(kù)中緩存數(shù)據(jù)到Redis中。
- Web模塊調(diào)用Parse(解析模塊)藻丢、NCS(搜索模塊)、Thrift(某服務(wù)遠(yuǎn)程調(diào)用)展示界面給瀏覽器用戶摄乒。
- KPI模塊每天定時(shí)統(tǒng)計(jì)系統(tǒng)數(shù)據(jù)悠反,匯總展示給KPI系統(tǒng)使用者残黑。
- Hive模塊使用hive腳本,利用HBase中的數(shù)據(jù)進(jìn)行故障時(shí)的數(shù)據(jù)恢復(fù)斋否。
- Zookeeper集群作為服務(wù)協(xié)調(diào)和某些服務(wù)的負(fù)載均衡器梨水。
- 數(shù)據(jù)庫(kù)使用M-S模式。
寫(xiě)在最后
該吃飯了...... 88