Hadoop-模擬搭建用戶行為日志采集系統(tǒng)分析

一. kafka應(yīng)用流程示意

image

1. 前端js埋點(diǎn),就是調(diào)用后端提供的對應(yīng)接口.接口請求示例如下:

http://pingserver.com?itemid=111&userid=110&action=show&...

為了保證輕量級,并發(fā)度高,前端js埋點(diǎn)向后端異步發(fā)送的請求不需要關(guān)注返回狀態(tài),只負(fù)責(zé)調(diào)用即可;

2. flume監(jiān)聽log日志,將實時增加的log日志通過flume管道注入kafka中,接下來可以由storm或spark streaming進(jìn)行實時流處理;

3. 方向(1)中應(yīng)用:storm,spark streaming更偏重于業(yè)務(wù)處理及數(shù)據(jù)挖掘;
4. 方向(2)中應(yīng)用:是將非結(jié)構(gòu)化的用戶行為日志數(shù)據(jù)轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)存入hbase中,使用hive進(jìn)行行為日志的分析,比如統(tǒng)計pv,uv,vv,ctr,dau等.

二. 搭建日志采集系統(tǒng)log server流程圖

日志采集系統(tǒng)

上圖,就是一個Log Server實現(xiàn)的最簡單流程圖.

  1. Nginx分發(fā)器:上面提到了前端js埋點(diǎn)請求,要求速度要快,并發(fā)度要高,所以這里使用了Nginx分發(fā)器作為web server,實現(xiàn)反向代理與LB(負(fù)載均衡);

  2. Spawn-cgi:上圖只是示例提供一個server服務(wù)的場景,同樣也可以在不同節(jié)點(diǎn)上,提供相同的服務(wù),用nginx實現(xiàn)負(fù)載均衡,以能提供更快更高可用的服務(wù);

Spawn-cgi的功能: 就是提供了一個網(wǎng)關(guān)接口,它可以快速的實現(xiàn)對外暴露server服務(wù)的功能,并能使底層的服務(wù)變成一個常駐的守護(hù)進(jìn)程;

它的請求走的fcgi協(xié)議,這種協(xié)議更加適合外部請求,因為http請求很容易受到攻擊;

  1. Thrift RPC:在定義接口規(guī)范之后,能夠幫助我們快速的生成client和server代碼,并能幫助我們實現(xiàn)服務(wù)之間的解耦:
  • client只負(fù)責(zé)字段的解析等輕量級的工作;
  • server才是真正的引擎核心,我們可以在這里實現(xiàn)自己的業(yè)務(wù)處理邏輯.

使用Thrift RPC生成的client和server之間的通信,走的是RPC協(xié)議,這種協(xié)議有如下好處:

  • 跨語言,支持多種語言去生成client和server代碼,c++,Python,java等;
  • 保證數(shù)據(jù)的安全,相比http協(xié)議更不容易受到外部攻擊;
  • 速度快,性能好,比如用c++生成代碼,實現(xiàn)效果性能更好,速度更快,更能應(yīng)對高并發(fā)的處理請求;

RPC協(xié)議更加適合底層內(nèi)部的請求,所以設(shè)計上后端一般都是使用RPC協(xié)議.

另外,RPC的兩端client和server只要遵循RPC協(xié)議和定義的scheme接口通信規(guī)范,兩端可以使用不同的開發(fā)語言.

4. 上面的client server中server,并不只是一種簡單的服務(wù),它可以由多個server通過RPC協(xié)議構(gòu)成,比如下面搭建推薦系統(tǒng):

推薦系統(tǒng)

三. 模擬日志收集系統(tǒng)的相關(guān)技術(shù)功能梳理

  1. Thrift RPC:在定義接口通信規(guī)范后,可以用Thrift命令快速生成server和client代碼,完成最基本的C/S架構(gòu);這種生成代碼的方式,可以幫助我們實現(xiàn)服務(wù)之間的解耦,client只負(fù)責(zé)字段的解析等輕量級的工作,而server才是真正的處理引擎;

在server里面,我們可以實現(xiàn)自己的業(yè)務(wù)處理邏輯.通過glogs可以將收集到用戶行為日志快速高效的寫入log文件中.

  1. Spawn-CGI: 通過cgi提供的網(wǎng)關(guān)接口,可以將自己用thrift rpc生成的server服務(wù)提供給外部.

簡單的可以理解為提供了一種代理,可以在非應(yīng)用程序所在的機(jī)器上操作應(yīng)用程序.

  1. Nginx分發(fā)器: 就是web server,用于分發(fā)用戶的請求,實現(xiàn)反向代理與負(fù)載均衡;通過它可以將用戶的js埋點(diǎn)請求分發(fā)給我們的server應(yīng)用程序去處理;

  2. ab壓測: 如果Thrift RPC使用c++生成client和server,可以大大的提供性能,這種場景下,可以使用ab壓測工具,進(jìn)行壓力測試;

上面的技術(shù)部分,基本就實現(xiàn)了模擬日志收集系統(tǒng)的搭建,下面再擴(kuò)展做一下介紹.

  1. Flume + Hbase/Hive : 用于用戶行為日志分析;

  2. Flume+Kafka+Storm/Spark Streaming :用于實時流處理的數(shù)據(jù)挖掘;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末正塌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子玩敏,更是在濱河造成了極大的恐慌,老刑警劉巖踊兜,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝌箍,死亡現(xiàn)場離奇詭異魁巩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)帽借,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門珠增,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砍艾,你說我怎么就攤上這事蒂教。” “怎么了脆荷?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵凝垛,是天一觀的道長。 經(jīng)常有香客問我简烘,道長苔严,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任孤澎,我火速辦了婚禮届氢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘覆旭。我一直安慰自己退子,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布型将。 她就那樣靜靜地躺著寂祥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪七兜。 梳的紋絲不亂的頭發(fā)上丸凭,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音腕铸,去河邊找鬼惜犀。 笑死,一個胖子當(dāng)著我的面吹牛狠裹,可吹牛的內(nèi)容都是我干的虽界。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼涛菠,長吁一口氣:“原來是場噩夢啊……” “哼莉御!你這毒婦竟也來了撇吞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤礁叔,失蹤者是張志新(化名)和其女友劉穎牍颈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晴圾,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颂砸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了死姚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡勤篮,死狀恐怖都毒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碰缔,我是刑警寧澤账劲,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站金抡,受9級特大地震影響瀑焦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梗肝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一榛瓮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巫击,春花似錦禀晓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至顷级,卻和暖如春凫乖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弓颈。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工帽芽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恨豁。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓嚣镜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橘蜜。 傳聞我的和親對象是個殘疾皇子菊匿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容