FunData — 电竞大数据系统架构演进

电竞出现在人们视野中的频率越来越高了,此次选取FunData作为电竞数据平台,v1.0 beta版本主要提供由Valve公司出品的顶级MOBA类游戏DOTA2相关数据接口(详情:open.varena.com)。

本文将介绍FunData的架构演进中的设计思路及其涉及的相关技术,包括大数据流处理方案、结构化存储转非结构化存储方案和数据API服务设计等。

电竞数据的丰富性从受众角度来看,可分为赛事、战队和玩家数据;从游戏角度来看,维度可由英雄、战斗、道具以及技能等组成;电竞数据的实时性包括赛前两支战队的历史交战记录、赛中的实时比分、胜率预测、赛后比赛分析和英雄对比等。

因此多维度的数据支持,TB到PB级别的海量数据存储与实时分析都对底层系统的架构设计有着更高的要求,亦带来了更严峻的挑战。

架构

系统主要有两个模块:Master与Slave。

Master模块功能如下:

  • 定时调用Steam接口获取比赛ID与基础信息
  • 通过In-Memory的消息队列分发比赛分析任务到Slave节点
  • 记录比赛分析进度,并探测各Slave节点状态

Slave模块功能如下:

  • 监听队列消息并获取任务(任务主要为录像分析,录像分析参考github项目clarity(https://github.com/skadistats/clarity)与manta(https://github.com/dotabuff/manta))
  • 分析数据入库

系统上线初期运行相对稳定,各维度的数据都可快速拉取。然而随着数据量的增多,数据与系统的可维护性问题却日益突出。

  1. 新增数据字段需要重新构建DB索引,数据表行数过亿构建时间太长且造成长时间锁表。
  2. 系统耦合度高,不易于维护,Master节点的更新重启后,Slave无重连机制需要全部重启;同时In-Memory消息队列有丢消息的风险。
  3. 系统可扩展性低,Slave节点扩容时需要频繁的制作虚拟机镜像,配置无统一管理,维护成本高。
  4. DB为主从模式且存储空间有限,导致数据API层需要定制逻辑来分库读取数据做聚合分析。
  5. 节点粒度大,Slave可能承载的多个分析任务,故障时影响面大。

在本篇的技术分享中,我们介绍了FunData数据平台架构演进的过程,分析了旧系统在架构上的缺点,以及在新系统中通过什么技术和架构手段来解决。FunData自4月10日上线以来,已有300多位技术开发者申请了API-KEY。我们也在着力于新数据点的快速迭代开发,如联赛统计数据,比赛实时数据等。 

原文地址:https://www.cnblogs.com/z12568/p/10663954.html

时间: 2024-08-01 21:11:28

FunData — 电竞大数据系统架构演进的相关文章

各大互联网公司架构演进之路汇总 - 分享自@开发者头条

大型网站架构演化历程 Web 支付宝和蚂蚁花呗的技术架构及实践 支付宝的高可用与容灾架构演进 聚划算架构演进和系统优化 (视频+PPT) 淘宝交易系统演进之路 (专访) 淘宝数据魔方技术架构解析 秒杀系统架构分析与实战 腾讯社区搜索架构演进(视频+PPT) 京东峰值系统设计 京东咚咚架构演进 新浪微博平台架构 微博图床架构揭秘 微博推荐架构的演进 当当网系统分级与海量信息动态发布实践 当当网架构演进及规划实现(视频+PPT) LinkedIn架构这十年 Facebook's software a

“NASA”计划背后_阿里巴巴大数据系统架构概述

DT时代,人们比以往任何时候都收集到更多的数据.据IDC报告,预计到2020年,全球数据总量将超过40ZB(相当于40万亿GB),这一数据量是2011年的22倍!正在"爆炸式"增长的数据,其潜在巨大价值有待发掘.它作为一种新的能源,正在发生聚变,变革着我们的生产和生活,催生了当下大数据行业的热火朝天.但是我们如果不能对这些数据进行有序.有结构的分类组织和存储,如果不能有效利用并发掘产生价值,那么它也是一个数据灾难,它犹如堆积如山的垃圾,给我们企业带来的是极大的成本. 现实情况是:阿里集

什么是大数据系统架构

大数据的应用开发过于偏向底层,具有学习难度大,涉及技术面广的问题,这制约了大数据的普及.现在需要一种技术,把大数据开发中一些通用的,重复使用的基础代码.算法封装为类库,降低大数据的学习门槛,降低开发难度,提高大数据项目的开发效率. 大数据在工作中的应用有三种:与业务相关,比如用户画像.风险控制等: 与决策相关,数据科学的领域,了解统计学.算法,这是数据科学家的范畴:与工程相关,如何实施.如何实现.解决什么业务问题,这是数据工程师的工作. 数据源的特点决定数据采集与数据存储的技术选型,我根据数据源

DKhadoop大数据系统架构设计方案

大数据作为当下最为热门的事件之一,其实已经不算是很新鲜的事情了.如果是三五年前在讨论大数据,那可能会给人一种很新鲜的感觉.大数据作为当下最为重要的一项战略资源,已经是越来越得到国家和企业的高度重视,我们从大数据被上升到国家战略层面就可窥见一二! 现在关于大数据的知识分享可以说已经是铺天盖地了,作为新手入门想查询的信息基本都可以通过网络查询到一些.我对的大数据的了解其实也不是特别丰富,毕竟学习的时间也不是特别长.仅以我熟悉的DKhadoop为例给大家分享一些小知识,往对初学者有点小帮助就可以了.

各大互联网公司架构演进之路汇总

浏览地址: http://www.hollischuang.com/archives/1036?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 原文地址:https://www.cnblogs.com/DreamRecorder/p/9078230.html

数据系统架构——Lambda architecture(Lambda架构)

传统系统的问题 "我们正在从IT时代走向DT时代(数据时代).IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好"--阿里巴巴董事局主席马云. 数据量从M的级别到G的级别到现在T的级.P的级别.数据量的变化数据管理系统(DBMS)和数仓系统(DW)也在悄然的变化着. 传统应用的数据系统架构设计时,应用直接访问数据库系统.当用户访问量增加时,数据库无法支撑日益增长的用户请求的负载时,从而导致数据库服

迈向大数据架构师 - 架构师转型方法与架构设计理论

迈向大数据架构师 - 架构师转型方法与架构设计理论课程学习地址:http://www.xuetuwuyou.com/course/233课程出自学途无忧网:http://www.xuetuwuyou.com课程摘自<大数据系统架构分析师成长之路>:http://www.xuetuwuyou.com/course/200 1.课程目标通过本课程的学习,让学员了解到什么是系统架构师,什么大数据系统架构师,两者的区别与联系,程序员与架构师的不同,程序员如何向架构师转型,一个架构师工作日常及必须修炼的

Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式百度云实战分享

muke慕课实战课程分享QQ313675301 新增课程: Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式百度云实战分享 后端开发: 1.高级java软件架构师实战培训视频教程2.大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电商项目视频教程3.Spark Streaming实时流处理项目实战4.Java校招面试 Google面试官亲授5.Java开发企业级权限管理系统6.Java大牛 带你从0到上线开发企业级电商项目7.Java

Java企业级电商项目架构演进之路Tomcat集群与Redis分布式

Java企业级电商项目架构演进之路Tomcat集群与Redis分布式网盘地址:https://pan.baidu.com/s/1taAooW3AhdGcdGSvOLqjkg 密码:nwip备用地址(腾讯微云):https://share.weiyun.com/5JdkNHX 密码:s9pm74 第1章 课程介绍[赠送一期源码+一期内容回顾]第2章 Lombok框架集成及原理解析第3章 Maven环境隔离应用场景及验证实战第4章 Tomcat集群演进详解及环境搭建第5章 Redis基础强化第6章