趣味解析,斗鱼直播大数据的玩法儿

大数据

作者:吴瑞诚

斗鱼是时下国内最大的游戏直播平台,日活用户达2000万,主播日活达40,000人,ALEXA全球排名约200名、国内约20名(高于优酷、Bilibili等站)。本文作者吴瑞诚,目前负责斗鱼数据平台部,本文中他将分享斗鱼大数据这块的玩法儿,包括斗鱼大数据平台的整体架构、斗鱼数据仓库、斗鱼个性推荐系统以及斗鱼风控系统。

大数据

这是一个典型的斗鱼直播间,是斗鱼最主要的内容形态:左边是视频区,上面飘过的文字就是弹(dàn)幕,直播网站上用户和主播互动的最主要形式。弹幕服务是性能压力最大的服务之一,相当于是需要百万人群聊时的消息推送量;视频区下面是礼物赠送区;右侧是弹幕区,Tab页上是排行榜,用户对该直播间的贡献值,土豪喜闻乐见。

1斗鱼大数据平台整体架构

大数据

14年加入斗鱼,当时负责的第一个业务是用shell脚本,从主站服务器上拉Nginx log到Hive集群中,统计产生报表。随着网站数据量的增长和配备约来越完备,从最开始的小系统越做越大,做到现在这个架构。

这个架构差不多是在16年初的时候成型的,主要包括:数据源层,用户行为打点、服务日志、Nginx/PHP日志(离线和实时两条数据流)、线上MySQL库、MongoDB、Redis存储数据接入层,包括了Kafka,负责接入打点上报(最大吞吐量约200w TPS)、Canal/Sqoop(主要解决数据库数据接入问题)、Flume/Logstash/rsyslog等实时日志;数据预处理层,简单的清洗和聚合计算;存储层,典型的系统HDFS(文件存储)、HBase(KV存储)、Kafka(消息缓存);计算层,主要包含了典型的所有计算模型的计算引擎,包含了MR、Hive、Storm、Spark以及深度学习平台比如Tensorflow等等再往上就是数据服务层,主要提供对外数据服务。这一块现在主要是基于Docker实现的一整套微服务环境来支撑。

大数据管理平台

下面先简单介绍一下各个组件的玩法,首先是大数据管理平台,承载所有的元数据管理、统一监控系统、报表展示、任务调度、发布系统等所有配套功能。

大数据

基础集群架构:

大数据

可以看到,清晰地区别了online 和offline 集群。

机器配置:

  • 现负责约300台高配服务器,Dell 730xd,32Cores 128/256G内存,16*6T Sata Disk。
  • Hadoop大集群150台物理机,5PB数据,日增量约20T。

实时离线集群分离,避免资源竞争造成业务处理抖动。集群分离后也可以更安全的对集群进行运维操作;使用Kafka作为MQ,更确切说是消息通道。

OLAP查询引擎Impala

Impala之前,我们有使用Presto的经验,后来因为运维上的问题,暂时下线了。Kylin15年很早的时候,在北京和kylingence官方有过一次深入沟通,仔细评估后发现斗鱼的场景不能发挥他的优势。最近Kylin重大版本之后,准备再评估一次。这方面应该有不少同学都有相关的经验,最后讨论阶段,大家可以一起聊一下。

可能对大数据组件不太熟悉的同学,可能对OLAP概念不太熟悉&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值