0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GaussDB为什么成为游戏行业的心头爱?

jf_21561199 来源:jf_21561199 作者:jf_21561199 2023-06-05 16:29 次阅读

在结束忙碌工作回家的地铁上,难得闲暇的周末下午,和朋友再来一局的入睡前......游戏已经成为了当下大多数年轻人在紧张的工作之余最普遍的放松方式和社交手段之一。

而游戏厂商想要增加用户粘性,不仅需要在游戏类别、情节故事、关卡设计上洞察用户喜好,让游戏足够新颖,更要在流畅程度上带给用户更极致的体验。游戏场景复杂多样,应用版本更新迭代,企业的运营成本也水涨船高,这让各大厂商在游戏开发过程中都极度重视一个同样的问题——如何选择一款可靠的数据库来支撑庞大的系统稳定运行?  

每一款游戏都要经历开发、上线、运维等多个环节,在这过程中,数据库面临的应用场景非常丰富。不同的应用场景对数据库的要求也不尽相同,比如跨服对战对计算算力的要求,在线聊天产生的数据对存储空间的要求,排行榜实时刷新对数据可用性的要求......这些具体的游戏场景都要求数据库在存储空间、弹性扩容、数据强一致保障以及成本等各方面都交出满意的答卷。

  在《迷你世界》、《余烬风暴》等大型游戏的开发和上线过程中,这些厂商都不约而同地将 GaussDBforRedis 数据库作为首选。为什么 GaussDBforRedis 成为了游戏行业的心头爱呢?我们不妨先看看在游戏行业,他们都面临着哪些共同的痛点,GaussDBforRedis 有什么锦囊妙计。

强扩展—支持业务高峰期海量玩家在线对战畅聊 

 在一款游戏新开服、活动推广、重大版本上线或发放点券游戏币等时间段,玩家访问量突增,同时在线人数迅速飚高,这种情况下,往往需要提前增加节点扩算力,高峰期后再缩减节点,如果处理不好,极有可能在扩容时发生长时间业务阻塞,甚至出现游戏服务器故障而被迫停服,面临痛失大量游戏玩家的风险。

  比如《迷你世界》春节期间在线玩家数从平时的百万级别突增到千万级,玩家协同创作与联机游玩产生大量实时聊天数据,需要存储空间在线快速扩容。而之前使用的开源 Redis 基于存算一体架构,存储扩容需要十几分钟,扩容期间大量玩家在协同创作、实时聊天时出现语音消息发不出、图片传输失败等问题,持续时间长达十几分钟,极大影响了玩家的游戏体验,极易造成用户流失。

  龙图游戏的大型魔幻手游《余烬风暴》采用的是多人跨服对战的游戏模式,在大量玩家跨服战斗的业务高峰期,数据库不仅需要稳定支撑 10 万级高并发业务,还对算力有一定的要求,需要计算节点达到秒级扩容,才能轻松应对海量用户跨服对战的流量洪峰。

  针对这些场景,GaussDBforRedis 基于业界首创的存算分离架构,做到了存储空间的弹性伸缩和秒级扩容,扩容只需修改配额,最高可支持单实例 TB 级数据 1 秒扩容 8 倍,即从 1TB 扩容到 8TB,能满足所有海量游戏聊天数据的在线扩容场景,助力千万级玩家畅聊不卡顿,极大提升玩家交流体验。计算节点做到分钟级扩容,扩容仅需修改数据映射,无需搬迁数据,在业务上仅有秒级的时延抖动,支撑《余烬风暴》业务高峰期单日同时在线玩家数达到百万级,且玩家数据访问几乎不受影响。

 强一致—保障多个地图数据实时一致性

   沙盒游戏是近几年的热门游戏题材之一,这类游戏常见的玩法有两种,一种是普通玩家可以进入多个地图联机游玩,通过“方块”的自由组合,搭建各种场景地图;另一种是高阶玩家与各地玩家联机,跨区域协同创作地图,形成全新的小游戏。

  相信不少玩家都遇到过这样的问题:在游戏地图 A 购买完道具,立即切换到别的地图以后,打开背包发现道具竟丢失了;遇到美女玩家,关注对方后本应自动发送招呼语,对方却迟迟没有收到。

  其实主要原因是两个地图从不同的节点读取数据,由于主节点的数据没有及时同步至从节点,更新存在一定的延迟性,最终导致多个地图之间的数据不一致。这说明一个问题,无论什么条件下,游戏地图数据必须要实时保持一致,这样才能为玩家带来良好的用户体验。

  面对这种数据不一致的问题,GaussDBforRedis 是怎么做的呢?首先不需要主从分离,在存储用户数据时,存储层使用 3 副本保存地图数据,基于一致性共识算法率先保证所有副本数据的一致性,避免了原有主从结构数据库在主数据库宕机后,从数据库中的地图数据跟主数据库中不完全一致的问题。玩家不论是在多个地图之间游玩,还是联机协同创作地图,都能实时保障数据的一致性,在游戏的体验感上得到极大的提升。

数据高可用—支持游戏排行榜数据实时刷新

  在一款游戏热度逐渐高涨或新游戏上线时,玩家往往对游戏排行榜的参与感会非常强烈,排行榜的刷新对数据实时性的要求更强。因为排行榜的变化,数据变动非常频繁,需要高可用的数据库保证积分数据的稳定读取和实时刷新。

  为了保证数据稳定读取,解决数据库高可用问题,基于存算分离架构的 GaussDBforRedis 将玩家积分数据统一存储在存储池中,而不是存储在计算节点中,这样做的好处是,如果某一个计算节点发生故障后,业务将自动将该节点的业务切换到其它计算节点,如下图所示:

wKgZomR9nPSAeYLHAACryF8NDsY88.jpeg

  只要集群中的任一节点存活,就可访问全量数据(友商采用的存算一体主从架构,单节点挂掉后,上面存储的积分数据将无法读取),避免了因为节点故障导致排行榜无法实时刷新的情况。

高安全—跨地域双活完整灾备轻松应对游戏故障

  游戏场景是典型的互联网场景,用户的数据日志非常之多,一旦发生数据库宕机、机房断电、网络故障等情况造成数据丢失,玩家的游戏体验将大打折扣。当一个可用区或整个地域意外宕机,需要有其它的可用区和补救措施来及时修复数据,这对系统的安全保障能力和容灾能力都提出很高的要求。  GaussDBforRedis 支持跨地域双活容灾,即在两个实例之间建立数据同步链路,其中主实例支持读写,备实例只读。如下图所示:

wKgaomR9nPWAUK4QAAb3OGy_sEw956.png

  与开源 Redis 那种简单的命令转发不同,GaussDBforRedis 的双活方案是基于 WAL 日志的数据同步,原理上更类似于 MySQL 数据库。在双活架构中,RsyncServer 进程负责数据的全量和增量同步,数据同步链路采用华为云内部高速网络,同 Region 内仅毫秒级延迟。

  GaussDB 已经在游戏行业沉淀出了非常丰富、成功的经验。在《迷你世界》国产沙盒创意平台中,GaussDBforRedis 支撑了多区域 TB 级别的地图数据同步更新,助力亿级用户跨区域协同创作,在整体成本相比开源 Redis 降低 60%的同时,存储用户画像总量提升了 3 倍,保障了千万级玩家实时聊天数据毫秒级别访问。龙图游戏选择了 GaussDBforRedis 作为大型魔幻手游《余烬风暴》的核心底座,不仅开服首日流水就破千万,且在业务高峰期单日同时在线玩家数达到百万级,收获了众多玩家的喜爱。

  游戏场景只是互联网行业中的其中一种通用型场景,这些核心技术和实践经验也只是 GaussDB 数据库多年来发展成果的冰山一角。GaussDB 在技术上的创新和突破从未止步,在千行百业中的探索也一直在路上。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    38

    文章

    7347

    浏览量

    135716
  • 游戏
    +关注

    关注

    2

    文章

    696

    浏览量

    26040
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63370
收藏 人收藏

    评论

    相关推荐

    GaussDB(for Redis) 游戏实践:玩家下线行为上报

    实现以上功能时,感知用户下线行为延迟较大,导致上报时间不准确。华为云 GaussDB(for Redis)作为一款企业级游戏数据库,具备卓越的企业级能力,能及时上报用户下线行为,并被广泛应用于排行榜等多种业务场景。 基于 Redis 的用户下线上报实现 实现用户下
    的头像 发表于 03-28 22:03 322次阅读

    亿级用户实时互动,GaussDB(for Redis) 带您沉浸式体验迷你世界

    摘要:GaussDB(for Redis)助您聊天不卡顿,畅玩更痛快 爱冒险是人的天性,游戏创造的虚拟世界充分满足了人们这一需求,玩游戏成为人们闲暇时光的重要放松方式之一。 作为国内
    的头像 发表于 06-29 16:46 236次阅读

    华为云 GaussDB 重磅亮相华为全球智慧金融峰会,产品能力全新升级

    6 月 7 日,2023 年华为全球智慧金融峰会在上海顺利举行,大会聚集了众多金融科技先锋企业、金融行业专家,共话金融科技产业发展和创新实践,同时重磅发布了华为云新一代分布式数据库 GaussDB
    的头像 发表于 06-29 16:45 345次阅读

    华为云新一代分布式数据库GaussDB正式发布

    GaussDB、分布式中间件以及可信的开发工具等构建的金融分布式新核心,并正式发布新一代分布式数据库GaussDB。   张平安表示,华为早在2001年就开始投入数据库研发,目前,GaussDB已在华为内部IT系统和多个
    的头像 发表于 06-16 11:33 858次阅读

    华为云数据库GaussDB:给世界一个更优选择

    替代能力,尤其是在集群性能、容灾能力上,已处于业界领先水平。 华为云数据库GaussDB目前业务覆盖金融、政务、能源等更多关键信息基础设施行业,历经全球顶尖银行、运营商,包括公司内部华为终端云服务、华为集团IT等严苛场景的商用考验,是企业数字化转
    的头像 发表于 06-14 23:02 395次阅读
    华为云数据库<b class='flag-5'>GaussDB</b>:给世界一个更优选择

    华为云数据库GaussDB:数字化转型的可信之选

    和可持续发展的双重诉求,从金融走向政务、能源等更多关键信息基础设施行业GaussDB广泛应用在金融、政务、能源、交通等关键信息基础行业,历经全球顶尖银行、运营商,包括公司内部华为终端云服务、华为集团IT等严苛场景的商用考验,
    的头像 发表于 06-14 23:01 323次阅读
    华为云数据库<b class='flag-5'>GaussDB</b>:数字化转型的可信之选

    华为云数据库GaussDB:数字化转型和可持续发展的更优选择

    随着数字化转型的推进,越来越多的企业开始关注云数据库技术。华为云数据库GaussDB凭借其全栈自研、技术领先、性能出众和支持核心业务的能力,在金融、政务、能源、交通等关键信息基础设施行业成为数字化
    的头像 发表于 06-14 23:01 332次阅读

    华为云新一代分布式数据库GaussDB,给世界一个更优选择

    GaussDB、分布式中间件以及可信的开发工具等构建的金融分布式新核心,并正式发布新一代分布式数据库GaussDB。 张平安表示,华为早在2001年就开始投入数据库研发,目前,GaussDB已在华为内部IT系统和多个
    的头像 发表于 06-08 17:55 705次阅读

    华为云 GaussDB 助力金融及关键信息基础设施行业数字化转型,获奖多多

    随着数字化时代的到来,金融及关键信息基础设施行业也面临着更高的数据需求和安全要求。为满足这些需求,华为云 GaussDB 作为国内唯一自主研发的软硬协同、全栈自主的数据库,成为了众多金融机构和企业
    的头像 发表于 06-08 15:43 271次阅读
    华为云 <b class='flag-5'>GaussDB</b> 助力金融及关键信息基础设施<b class='flag-5'>行业</b>数字化转型,获奖多多

    GaussDB 数据类型介绍

    GaussDB 数据库 GaussDB 是华为基于 openGauss 自研生态推出的云化企业级分布式关系型数据库,它支持多种数据类型,包括数值、字符、日期等。在使用 GaussDB 时,可能需要
    的头像 发表于 06-05 16:40 1273次阅读
    <b class='flag-5'>GaussDB</b> 数据类型介绍

    再识华为云数据库——GaussDB

    。同时具有 PB 级海量数据存储、实时高效访问、自动化运维等特点,广泛应用于金融、电信、物流、电商、政体等行业成为行业最受欢迎的企业级数据库之一。        GaussDB 在经
    的头像 发表于 06-05 16:38 934次阅读
    再识华为云数据库——<b class='flag-5'>GaussDB</b>

    GaussDB,连续五次No.1!

    近日,IDC 最新发布《2022 年上半年中国关系型数据库软件市场跟踪报告》。报告显示,在本地部署模式市场中,华为云数据库凭借 GaussDB 以 16.59%的份额排名国内第一。自 2020H1
    的头像 发表于 06-05 16:31 628次阅读

    GaussDB如何给世界一个更优选择?

    11 月 7 日,华为全联接大会 2022 第一天,华为云 CEO 张平安在主题演讲中,专门有一页 PPT 谈到了 GaussDB 信息量很大,不仅特别强调“GaussDB 云原生交易数据库,给世界一个更优选择”,同时,还分享了 2 个案例和一些数据。
    的头像 发表于 06-05 16:30 344次阅读

    GaussDB存储过程介绍

    华为云数据库 GaussDB 是一款高性能、高安全性的云原生数据库,在数据库领域处于领先地位。而在 GaussDB 中,存储过程是一个不容忽视的重要功能。本文将深入介绍 GaussDB 存储过程的使用场景、使用优缺点、示例及示例
    的头像 发表于 06-05 16:30 434次阅读
    <b class='flag-5'>GaussDB</b>存储过程介绍

    GaussDB数据库存储过程介绍

    华为云数据库 GaussDB 是一款高性能、高安全性的云原生数据库,在数据库领域处于领先地位。而在 GaussDB 中,存储过程是一个不容忽视的重要功能。本文将深入介绍 GaussDB 存储过程
    的头像 发表于 05-30 09:52 724次阅读