资料介绍
携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统)、动态广告、用户画像、浏览历史等等。
以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。
携程原有的实时用户行为系统存在一些问题,包括: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 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论