彩盈彩票_彩盈彩票代理_彩盈娱乐彩票-注册登录

彩盈彩票_彩盈彩票代理_彩盈娱乐彩票-注册登录

您当前位置:主页 > 彩盈彩票代理 >

每日处理20亿个数据,实时用户行为服务系统架构

作者:admin 来源:未知 时间:2019-05-10
摘要:携程实时用户行为服务作为基本服务目前广泛应用于多种场景,如猜测你喜欢什么(携程的推荐系统),动态广告,用户肖像,浏览历史等等。 猜猜你喜欢什么,猜测你想为应用内用户

携程实时用户行为服务作为基本服务目前广泛应用于多种场景,如猜测你喜欢什么(携程的推荐系统),动态广告,用户肖像,浏览历史等等。

猜猜你喜欢什么,猜测你想为应用内用户提供潜在的选择并提高交易效率。旅行是一项全面的要求,用户通常需要多种产品。作为一站式旅游服务平台,跨业务线推荐,特别是实时推荐,实际上可以满足用户的需求。因此,非常有必要在上游的服务线之间提供用户行为数据。

携程原有的实时用户行为系统存在一些问题,包括:1)数据覆盖不完整; 2)没有统一的数据输出格式,增加了许多用户的访问成本; 3)日志处理模块是Web服务,这是很难支持的各种数据处理策略和需要便于扩展的流量响应峰值。

近年来,旅游市场发展迅速,数据量不断增长,并将继续快速增长。使用要求越来越多,对系统的实时性和稳定性提出了更高的要求。通常,当前要求对系统的实时/可用性/性能/可扩展性有很高的要求。

在这种情况下,我们根据以下结构重新设计了系统:

2

图1:实时用户行为系统的逻辑视图

在新架构下,数据有两个流,即处理流和输出流。

在处理流程中,行为日志从客户端(App/Online/H5)上载到服务器的收集器服务。收集器服务将消息发送到分布式队列。数据处理模块由流计算框架完成,从分布式队列中读取数据,然后在处理后将数据写入数据层,包括分布式缓存和数据库集群。

输出流相对简单。 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在数据级别为10亿的这两个方面具有更好的性能,并且设计具有良好的性能。水平缩放的能力。

目前,该系统每天处理大约20亿个数据,并且数据可从在线获得大约300毫秒的可用时间。查询服务每天服务大约8000万个请求,平均延迟大约为6毫秒。以下是从实时/可用性/性能/部署的几个维度对系统设计的描述。

作为实时系统,实时性能是主要指标。在线系统面临各种异常现象。例如,以下情况:


首 页 | 彩盈彩票 |  彩盈彩票代理 |  彩盈娱乐彩票 | 

Copyright @ 2002-2017  彩盈彩票_彩盈彩票代理_彩盈娱乐彩票-注册登录  版权所有