電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>實(shí)時用戶行為服務(wù)系統(tǒng)架構(gòu)實(shí)踐

實(shí)時用戶行為服務(wù)系統(tǒng)架構(gòu)實(shí)踐

2017-09-30 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

  攜程實(shí)時用戶行為服務(wù)作為基礎(chǔ)服務(wù),目前普遍應(yīng)用在多個場景中,比如猜你喜歡(攜程的推薦系統(tǒng))、動態(tài)廣告、用戶畫像、瀏覽歷史等等。

  以猜你喜歡為例,猜你喜歡為應(yīng)用內(nèi)用戶提供潛在選項(xiàng),提高成交效率。旅行是一項(xiàng)綜合性的需求,用戶往往需要不止一個產(chǎn)品。作為一站式的旅游服務(wù)平臺,跨業(yè)務(wù)線的推薦,特別是實(shí)時推薦,能實(shí)際滿足用戶的需求,因此在上游提供打通各業(yè)務(wù)線之間的用戶行為數(shù)據(jù)有很大的必要性。

  攜程原有的實(shí)時用戶行為系統(tǒng)存在一些問題,包括:1)數(shù)據(jù)覆蓋不全;2)數(shù)據(jù)輸出沒有統(tǒng)一格式,對眾多使用方提高了接入成本;3)日志處理模塊是Web Service,比較難支持多種數(shù)據(jù)處理策略和實(shí)現(xiàn)方便擴(kuò)容應(yīng)對流量洪峰的需求等。

  而近幾年旅游市場高速增長,數(shù)據(jù)量越來越大,并且會持續(xù)快速增長。有越來越多的使用需求,對系統(tǒng)的實(shí)時性,穩(wěn)定性也提出了更高的要求??偟膩碚f,當(dāng)前需求對系統(tǒng)的實(shí)時性/可用性/性能/擴(kuò)展性方面都有很高的要求。

  一、架構(gòu)

  這樣的背景下,我們按照如下結(jié)構(gòu)重新設(shè)計(jì)了系統(tǒng):

  實(shí)時用戶行為服務(wù)系統(tǒng)架構(gòu)實(shí)踐

  圖1 實(shí)時用戶行為系統(tǒng)邏輯視圖

  新的架構(gòu)下,數(shù)據(jù)有兩種流向,分別是處理流和輸出流。

  在處理流,行為日志會從客戶端(App/Online/H5)上傳到服務(wù)端的Collector Service。Collector Service將消息發(fā)送到分布式隊(duì)列。數(shù)據(jù)處理模塊由流計(jì)算框架完成,從分布式隊(duì)列讀出數(shù)據(jù),處理之后把數(shù)據(jù)寫入數(shù)據(jù)層,由分布式緩存和數(shù)據(jù)庫集群組成。

  輸出流相對簡單,Web Service的后臺會從數(shù)據(jù)層拉取數(shù)據(jù),并輸出給調(diào)用方,有的是內(nèi)部服務(wù)調(diào)用,比如推薦系統(tǒng),也有的是輸出到前臺,比如瀏覽歷史。系統(tǒng)實(shí)現(xiàn)采用的是Java+Kafka+Storm+Redis+MySQL+Tomcat+Spring的技術(shù)棧。

  Java:目前公司內(nèi)部Java化的氛圍比較濃厚,并且Java有比較成熟的大數(shù)據(jù)組件

  Kafka/Storm:Kafka作為分布式消息隊(duì)列已經(jīng)在公司有比較成熟的應(yīng)用,流計(jì)算框架Storm也已經(jīng)落地,并且有比較好的運(yùn)維支持環(huán)境。

  Redis: Redis的HA,SortedSet和過期等特性比較好地滿足了系統(tǒng)的需求。

  MySQL: 作為基礎(chǔ)系統(tǒng),穩(wěn)定性和性能也是系統(tǒng)的兩大指標(biāo),對比NoSQL的主要選項(xiàng),比如HBase和ElasticSearch,十億數(shù)據(jù)級別上MySQL在這兩方面有更好的表現(xiàn),并且經(jīng)過設(shè)計(jì)能夠有不錯的水平擴(kuò)展能力。

  目前系統(tǒng)每天處理20億左右的數(shù)據(jù)量,數(shù)據(jù)從上線到可用的時間在300毫秒左右。查詢服務(wù)每天服務(wù)8000萬左右的請求,平均延遲在6毫秒左右。下面從實(shí)時性/可用性/性能/部署幾個維度來說明系統(tǒng)的設(shè)計(jì)。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1491次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費(fèi)
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  4次下載  |  免費(fèi)
  15. 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  16. 0.11 MB  |  4次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537793次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)