【云栖号案例 | 游戏&娱乐】混合云模式助力斗鱼搭建混搭大数据架构

简介: 斗鱼自建集群遇到瓶颈,涉及到资源效率和资源成本问题。混合云带来资源成本和资源效率变化最大,保证可以在多活数据中心的状态下支撑更多的业务。

云栖号案例库:【点击查看更多上云案例】
不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

案例背景

2019杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙带来以 “混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践” 为题的演讲。本文讲述了从 Apache Hadoop 阶段到 Cloudera CDH 阶段斗鱼大数据架构的发展历程。提出了上云过程中斗鱼遇到的问题和跳战,包括数据安全、数据同步以及迁移任务。概括了混合云模式给斗鱼带来资源效率更高和资源成本更低的变化。

斗鱼大数据架构发展历程

image

在2014年中期,斗鱼就开始使用大数据,最开始使用的是简单的HBase和Hadoop。在2015年,开始使用CDH运维大数据集群,主要针对可视化运维。在2017年的下半年,斗鱼开始接触阿里云大数据的一些产品,并且与其他产品做了对比。最终选择了阿里云的MaxCompute。

  • Apache Hadoop阶段

由于业务场景比较简单,组件较少,并且使用的人也少,但可以灵活的操作,同时集群规模较小,运维要求低,可以自由的利用开源,培养了许多人才。但在发展过程中也遇到了一些阻碍,例如:组件增多,运维成本高,业务增长快,集群扩容操作繁琐,人员增加,数据安全要求高,物理机操作,环境安全难保障。

  • Cloudera CDH阶段

斗鱼为何选择Cloudera CDH?原因主要有:首先,它能满足业务发展需要,多组件运维成本低,集群扩容操作简单,数据安全及环境安全有保障。其次,CDH在国内被广泛使用。最主要的一点是斗鱼的团队内部有CDH人才。

Cloudera CDH给斗鱼带来了许多便利,包括支持丰富的组件,不用考虑兼容性,可以通过CM统一管理,进行Web化管理,同时支持中文。另外,支持安全管理,以及对Kerberos安全认证。

自建集群遇到了发展瓶颈,涉及到资源效率问题和资源成本问题。资源效率问题包括资源预算审批慢、机器采购周期长以及机房部署效率低。资源成本问题包括机器资源成本高、机房成本高还不稳定以及闲时资源空置较多。

image

大数据上云的挑战

上云面临的挑战主要是如何保证数据安全,因为数据是企业核心的资源,安全性是非常关键的。其次是如何保持数据同步,是因为云上云下存在着海量数据。最后,因为云下存在大量的历史业务,那该如何将业务安全迁移到云上也是一个问题。

  • 如何保证数据安全?

对于数据丢失的问题,阿里使用原始数据进行备份,这是很关键的。对于核心数据泄露问题,几率是很小的,因为泄露数据之后所要承担的风险远大于打败竞争对手所提供的收益。对于云环境面向外网,如何保证安全访问的问题,可以增加账号访问IP白名单及审计,设置公司内部才可访问。

  • 如何保持数据同步?

由于每天会产生PB级历史数据和TB级数据增量。如何快速准确同步数据问题,可以使用数据同步工具,主要是基于DataX的改造。同时提高网络专线能力,增加多根专线,自动地进行异常切换,与云上平台业务进行隔离。利用数据校验工具,校验数据同步任务以及数据量。

  • 如何安全迁移业务?

业务的安全迁移需要做到三个要求:1.不能引起故障,保证迁移可行性验证。2.迁移成本不能太高,业务侧尽量少改动。3.能上云也要能下云,尽量保证云上云下操作一致性。
为了做到不引起故障,要做到三个需要:需要做业务场景测试,保证业务场景全部覆盖到,并且能够识别能够迁移的业务场景。需要数据质量检验,确保相同业务云上云下产出数据的一致性。需要数据效率验证,确保云上任务数据产出时间,同时不影响业务。

  • 如何保证较低的迁移成本?

斗鱼在IDC中运行的任务主要分两部分,第一部分是Java任务,占比很小,特点是基于封装的HiveClient工具进行查询计算。第二部分是XML配置化任务,特点是基于自定义XML文件,支持HiveSQL统计后导入其他存储。针对这些任务的特点,斗鱼也做了相应的改造。针对封装OdpsClient,可以将HiveClient改成OdpsClient,并且改Hive URL为云环境。针对加模板改URL,可以引入MaxCompute参数模型,改Hive URL为云环境。

为了保证能上云也能下云,第一,需要数据能上能下,就是前面提到的数据同步中心。 第二,需要完善的配套工具,云上云下环境尽量透明化使用。第三,多使用通用功能,通过SQL+UDF能覆盖大部分场景。

混合云模式带来的变化

image

image

混合云模式带来的变化主要针对资源效率低,难以跟上业务发展,以及资源成本高,企业财务压力大两方面。在资源效率方面,从自建集群到MaxCompute有一些变化,包括提前半年或一年提预算变成按量付费,采购耗时1到3个月变成资源可以无限使用,机房上架1周以上变为无机房概念。相比于IDC自建集群,MaxCompute每年大概节约1000w成本,保障集群零故障。同时也有一些附加的收益,包括阿里云的专业服务,当遇到技术问题时可以请教阿里的专家来帮助解决,以及计算资源可以量化,可以知道钱花在哪些业务了,以及与阿里专家交流,帮助解决业务难题。

image

在自建机房时,斗鱼也做了一些开发,下图所示为数据开发,包括基于Hue的查询计算和云上的DataStudio数据开发,然后将Hue的API和DataStudio的API集中起来形成斗鱼的大数据开放平台,作用是可以提供给数据部门的人使用,也可以提供给业务部门的分析人员使用。

image

此外,斗鱼也做了一些实践,称为多活数据中心,如下图所示。斗鱼通过确立自建机房的数据和阿里云数据在这两个数据中心的角色,保证可以在多活数据中心的状态下支撑更多的业务。

image

混合云带来的变化总结起来,资源成本和资源效率是最大的两个变化,还有可量化的成本、增值服务、额外的专业服务等,不仅可以给我们自己部门人员用,还可以给其他业务部门的人来用,并且他们对使用成本也是直接可见的。

image

云栖号案例库:【点击查看更多上云案例】
不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
10月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
533 102
|
7月前
|
人工智能 运维 搜索推荐
大数据+游戏:原来玩家的快乐还能这样被“算”出来?
大数据+游戏:原来玩家的快乐还能这样被“算”出来?
616 11
|
9月前
|
存储 Java 大数据
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用(198)
简介:本文探讨Java大数据技术在智能家居能源消耗分析与节能策略中的应用。通过数据采集、存储与智能分析,构建能耗模型,挖掘用电模式,制定设备调度策略,实现节能目标。结合实际案例,展示Java大数据在智能家居节能中的关键作用。
|
9月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
666 4
|
SQL 存储 算法
基于对象 - 事件模式的数据计算问题
基于对象-事件模式的数据计算是商业中最常见的数据分析任务之一。对象如用户、账号、商品等,通过唯一ID记录其相关事件,如操作日志、交易记录等。这种模式下的统计任务包括无序计算(如交易次数、通话时长)和有序计算(如漏斗分析、连续交易检测)。尽管SQL在处理无序计算时表现尚可,但在有序计算中却显得力不从心,主要原因是其对跨行记录运算的支持较弱,且大表JOIN和大结果集GROUP BY的性能较差。相比之下,SPL语言通过强化离散性和有序集合的支持,能够高效地处理这类计算任务,避免了大表JOIN和复杂的GROUP BY操作,从而显著提升了计算效率。
|
SQL 存储 算法
基于对象 - 事件模式的数据计算问题
基于对象-事件模式的数据计算是商业中最常见的数据分析任务之一。这种模式涉及对象(如用户、账户、商品等)及其相关的事件记录,通过这些事件数据可以进行各种统计分析,如漏斗分析、交易次数统计等。然而,SQL 在处理这类任务时表现不佳,特别是在有序计算方面。SPL 作为一种强化离散性和有序集合的语言,能够高效地处理这类计算,避免了大表 JOIN 和大结果集 GROUP BY 的性能瓶颈。通过按 ID 排序和分步计算,SPL 能够显著提高计算效率,并支持实时数据处理。
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
308 5