客户案例 > 案例详情
37手游云平台基于Flink+Hologres大数据建设实践

37手游云平台基于Flink+Hologres大数据建设实践,解决了自建集群组建多,架构复杂,成本高等痛点,实现了低成本、简单运维、可扩展等的云平台。

客户介绍

37手游是37互娱的子公司,主要负责运营,也就是发行业务。在中国大陆地区37手游以10%占有率仅次于腾讯和网易排第三。现在在非中国大陆地区也已经进入月收入过亿的俱乐部,成功发行了包括《永恒纪元》、《一刀传世》、《斗罗大陆》这几款游戏,当前已经累计4亿用户。

业务挑战

37手游之前是自建的大数据集群,有以下痛点:1. 资源成本:机器成本高;机房成本高,因为有一百台机器要有单独的机房;空闲时间多。我们的离线作业大部分在晚上运作,白天的时间基本上是比较浪费的。2. 人力成本:组件多,运维成本高。一个人要负责三四个组件的维护;组件学习成本高,一些业务开发的同学会使用我们提供的组件,对于他们来说,会有一定的学习成本;开发成本高。3. 稳定性、扩展性:IDC 集群做扩容时流程很复杂,从申请,到机器的采购,再到部署、上线等,至少要一个月的时间,扩展性很差;机房部署周期长;故障率较高。

“通过 Hologres替换Presto/Hudi/Hbase/CK/ES/Druid等多个组件,构建统一数据平台,满足留存分析、用户画像构建等精细化运营需求。“

--37手游大数据平台 史飞翔

阿里云的解决方案
云平台大数据建设

总体方案主要包括3条链路:

第一条链路是实时流,从 Kafka 过来,经过实时计算,实时计算之后会落到 Hologres。但是有一些场景需要扩展维度,实时计算时会用到配置表,是在 Hologres 基于行存来存储的配置表,通过点查的能力,把配置信息取出来做实时关联,最终落到 Hologres。

第二条链路,可能也是大家常用的(传统的数据库还是要保留),我们会把传统的 MySQL 数据库通过 DataWorks 数据集成同步到 Hologres。

最后一条链路是离线的,Kafka 数据通过 DataWorks 写到 MaxCompute,写完之后会在 MaxCompute 每天定时跑任务来修整第一条线的实时数据,也就是做一个离线的修正。另外我们会把 MaxCompute 里画像数据推到另外两个组件。这里说明一下,这两个组件是为了考虑到双云部署,所以我们考虑到开源的组件,StarRocks 和 HBase,这两块主要是用在画像上。最后一层是用到Quick BI做展示,包括用户画像也是基于 StarRocks 和 HBase 做一个查询。

业务价值

统一了数据存储。打破了数据孤岛,37 域的数据是全通的。

数据更加实时。之前每天的数据会半小时或者十五分钟跑一次,现在是实时计算,所见即可得,尤其是游戏首发的时候我们对数据的实时性要求非常高。

提升了查询效率。旧的引擎很难支撑业务的快速发展,新的数据库 Hologres 在查询性能上体验极佳。

简化了开发流程。我们之前的开发流程是很复杂的,现在只需要实时计算这块写一个 SQL 就可以搞定了。