資料介紹
攜程實時用戶行為服務作為基礎服務,目前普遍應用在多個場景中,比如猜你喜歡(攜程的推薦系統)、動態廣告、用戶畫像、瀏覽歷史等等。
以猜你喜歡為例,猜你喜歡為應用內用戶提供潛在選項,提高成交效率。旅行是一項綜合性的需求,用戶往往需要不止一個產品。作為一站式的旅游服務平臺,跨業務線的推薦,特別是實時推薦,能實際滿足用戶的需求,因此在上游提供打通各業務線之間的用戶行為數據有很大的必要性。
攜程原有的實時用戶行為系統存在一些問題,包括:1)數據覆蓋不全;2)數據輸出沒有統一格式,對眾多使用方提高了接入成本;3)日志處理模塊是Web Service,比較難支持多種數據處理策略和實現方便擴容應對流量洪峰的需求等。
而近幾年旅游市場高速增長,數據量越來越大,并且會持續快速增長。有越來越多的使用需求,對系統的實時性,穩定性也提出了更高的要求。總的來說,當前需求對系統的實時性/可用性/性能/擴展性方面都有很高的要求。
一、架構
這樣的背景下,我們按照如下結構重新設計了系統:
圖1 實時用戶行為系統邏輯視圖
新的架構下,數據有兩種流向,分別是處理流和輸出流。
在處理流,行為日志會從客戶端(App/Online/H5)上傳到服務端的Collector Service。Collector Service將消息發送到分布式隊列。數據處理模塊由流計算框架完成,從分布式隊列讀出數據,處理之后把數據寫入數據層,由分布式緩存和數據庫集群組成。
輸出流相對簡單,Web Service的后臺會從數據層拉取數據,并輸出給調用方,有的是內部服務調用,比如推薦系統,也有的是輸出到前臺,比如瀏覽歷史。系統實現采用的是Java+Kafka+Storm+Redis+MySQL+Tomcat+Spring的技術棧。
Java:目前公司內部Java化的氛圍比較濃厚,并且Java有比較成熟的大數據組件
Kafka/Storm:Kafka作為分布式消息隊列已經在公司有比較成熟的應用,流計算框架Storm也已經落地,并且有比較好的運維支持環境。
Redis: Redis的HA,SortedSet和過期等特性比較好地滿足了系統的需求。
MySQL: 作為基礎系統,穩定性和性能也是系統的兩大指標,對比NoSQL的主要選項,比如HBase和ElasticSearch,十億數據級別上MySQL在這兩方面有更好的表現,并且經過設計能夠有不錯的水平擴展能力。
目前系統每天處理20億左右的數據量,數據從上線到可用的時間在300毫秒左右。查詢服務每天服務8000萬左右的請求,平均延遲在6毫秒左右。下面從實時性/可用性/性能/部署幾個維度來說明系統的設計。
- DSP硬實時操作系統用戶手冊下載 30次下載
- 基于分布式仿真系統的實時通訊架構 11次下載
- 社交網絡水軍用戶的動態行為分析綜述 11次下載
- 基于用戶窗口行為的內部威脅異常檢測 5次下載
- 微服務架構下圖規劃算法的改進方法 5次下載
- 用于網絡用戶行為聚類分析的簇標簽自動生成方法 15次下載
- 考慮服務行為特征的服務動態行為生長演化模型 0次下載
- 基于VMware的云計算平臺下異常行為檢測技術架構 0次下載
- 基于用戶行為偏好的服務選擇策略 0次下載
- 基于用戶行為模式的電力需求建模設計 3次下載
- 實時用戶行為服務系統架構實踐 0次下載
- 嵌入式實時操作系統原理與最佳實踐 179次下載
- 基于用戶瀏覽行為的個性化網頁推薦
- 基于B S架構GPS手機實時追蹤系統的研究
- 基于類Markov鏈的用戶瀏覽行為預測方法
- GPU服務器AI網絡架構設計 549次閱讀
- 如何搭建微服務架構的全局圖景 544次閱讀
- 深入探討微服務和事件驅動架構區別 638次閱讀
- SpringCloud微服務架構:實現分布式系統的無縫協作 974次閱讀
- OpenHarmony上使用服務卡片 577次閱讀
- 釋放微服務架構全部潛力的關鍵 621次閱讀
- 微服務架構中的數據一致性解決方案與實踐 505次閱讀
- SOA面向服務架構介紹 1378次閱讀
- 微服務架構的特點_微服務架構適用場景 5190次閱讀
- 邏輯架構模型開發概念原則詳解 4703次閱讀
- AI行為分析+智慧校園應用方案 1.3w次閱讀
- 什么是無服務器?無服務器架構的安全需要注意什么 3609次閱讀
- 什么是微服務架構_微服務架構的優缺點及應用 1.7w次閱讀
- 微服務架構與實踐基礎篇 4259次閱讀
- 雙核實時系統的架構是如何設計的? 2881次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 3次下載 | 免費
- 2AN-1267: 使用ADSP-CM408F ADC控制器的電機控制反饋采樣時序
- 1.41MB | 3次下載 | 免費
- 3AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 5AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 6AN153-用于電源系統管理的Linduino
- 1.38MB | 次下載 | 免費
- 7AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 8SM2018E 支持可控硅調光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 5美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 18次下載 | 免費
- 7感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論