资料介绍
携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统)、动态广告、用户画像、浏览历史等等。
以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。
携程原有的实时用户行为系统存在一些问题,包括: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次下载
- 嵌入式实时操作系统原理与最佳实践 178次下载
- 基于用户浏览行为的个性化网页推荐
- 基于B S架构GPS手机实时追踪系统的研究
- 基于类Markov链的用户浏览行为预测方法
- 如何搭建微服务架构的全局图景 384次阅读
- 深入探讨微服务和事件驱动架构区别 436次阅读
- SpringCloud微服务架构:实现分布式系统的无缝协作 614次阅读
- OpenHarmony上使用服务卡片 457次阅读
- 释放微服务架构全部潜力的关键 473次阅读
- 微服务架构中的数据一致性解决方案与实践 401次阅读
- SOA面向服务架构介绍 1180次阅读
- 微服务架构的特点_微服务架构适用场景 4920次阅读
- 逻辑架构模型开发概念原则详解 4529次阅读
- AI行为分析+智慧校园应用方案 1.3w次阅读
- 什么是无服务器?无服务器架构的安全需要注意什么 3469次阅读
- 什么是微服务架构_微服务架构的优缺点及应用 1.7w次阅读
- 微服务架构与实践基础篇 4161次阅读
- ICC即时连接理念 如何构建ITS实时服务模式 3076次阅读
- 双核实时系统的架构是如何设计的? 2753次阅读
下载排行
本周
- 1HFSS电磁仿真设计应用详解PDF电子教程免费下载
- 24.30 MB | 128次下载 | 1 积分
- 2雷达的基本分类方法
- 1.25 MB | 4次下载 | 4 积分
- 3电感技术讲解
- 827.73 KB | 2次下载 | 免费
- 4从 MSP430™ MCU 到 MSPM0 MCU 的迁移指南
- 1.17MB | 2次下载 | 免费
- 5有源低通滤波器设计应用说明
- 1.12MB | 2次下载 | 免费
- 6RA-Eco-RA2E1-48PIN-V1.0开发板资料
- 35.59 MB | 2次下载 | 免费
- 7面向热插拔应用的 I2C 解决方案
- 685.57KB | 1次下载 | 免费
- 8爱普生有源晶体振荡器SG3225EEN应用于储能NPC、新能源
- 317.46 KB | 1次下载 | 免费
本月
- 12024年工控与通信行业上游发展趋势和热点解读
- 2.61 MB | 763次下载 | 免费
- 2HFSS电磁仿真设计应用详解PDF电子教程免费下载
- 24.30 MB | 128次下载 | 1 积分
- 3继电保护原理
- 2.80 MB | 36次下载 | 免费
- 4正激、反激、推挽、全桥、半桥区别和特点
- 0.91 MB | 32次下载 | 1 积分
- 5labview实现DBC在界面加载配置
- 0.57 MB | 21次下载 | 5 积分
- 6在设计中使用MOSFET瞬态热阻抗曲线
- 1.57MB | 15次下载 | 免费
- 7GBT 4706.1-2024家用和类似用途电器的安全第1部分:通用要求
- 7.43 MB | 14次下载 | 免费
- 8H桥中的电流感测
- 545.39KB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935113次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191360次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81578次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73804次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多