通过 TiDB 连接全球极限场景和创新场景,是 PingCAP 长期坚持的国际化战略。目前,在全球已有超过 3000 家企业选择 TiDB。无论在游戏、金融、物流、互联网还是智能制造等行业,基于规模化 OLTP 扩容、实时 HTAP 分析等应用场景,PingCAP 服务用户的脚步已经从中国延伸到全球,覆盖日本、亚太、北美和欧洲等各个区域。

从今天开始,我们将分享一系列“全球极限场景与创新场景使用 TiDB 的最佳实践”。本文为该专题第一篇,分享 TiDB 如何为全球著名游戏公司 CAPCOM 提供灵活、可靠、可扩展的数据库服务,保障其在线游戏的全球化运营。

CAPCOM 是一家日本游戏开发商,拥有一系列全球热门游戏,其中《怪物猎人》全球销量达到 8400 万份(截至 2022 年 7 月),《生化危机》 系列游戏更是风靡超过 25 年。

为了更好地应对游戏的全球化以及在线交付的趋势,CAPCOM 基础架构团队决定充分利用公共云服务,并在 Google Cloud Platform (GCP) 上构建新的在线游戏核心组件,这项工作的关键是要找到一款合适的数据库。

业务挑战

在线游戏玩家无论身在何处都希望获得可靠、流畅的游戏体验。在线游戏必须实时响应并发连接的动态变化,这就意味着服务器必须就近部署在玩家交互所处的国家,并且数据库必须随着数据量的变化而弹性扩展。

随着用户数量的迅猛增长以及新游戏场景、项目、活动和新游戏方式的不断增加,原始数据库经常需要处理超出预期的负载。CAPCOM 基础架构团队需要一款能够响应高度可变的工作负载并针对 GCP 环境进行优化的数据库。

基础架构团队倾向于能够提供完全托管的数据库服务,他们需要专业的数据库工程师来完成数据库故障处理和性能调优等任务,从而使得基础设施团队能够专注于自己的主要工作。

数据库选型

该团队调研了几款数据库,包括那些在 GCP 以外的云平台 (IaaS) 上运行的数据库。然而,没有一款数据库能够同时满足他们对关系型数据库以及对灵活性扩展的需求。为了更好地应对游戏的全球化以及在线交付的趋势,CAPCOM 基础架构团队决定选择 TiDB Cloud,并将新游戏的多个开发环境合并到一个 TiDB 集群中,节省了 IT 成本。

TiDB 既有高度兼容 MySQL 的接口,也有提供灵活扩展的分布式架构。TiDB 主要由三层架构组成:运行 SQL 的 TiDB 层、存储数据的 TiKV 层和协调集群的 Placement Driver,每一层都可以根据需要进行灵活的扩缩容。

基础设施团队成员 Ryohei Morita 分享了团队第一次接触 TiDB Cloud 的经历:

“我知道云原生计算基金会(CNCF)正在托管 TiKV*。在收到* TiDB Cloud 的提案后,我们立即开始在内部环境中验证 TiDB 开源版本。显然,基于 TiKV 构建的托管服务具有真正的潜力来减少我们的运营工作量,我们很快决定考虑 TiDB Cloud。”

为什么选择 TiDB Cloud?

MySQL 兼容性

TiDB 高度兼容 MySQL,在 schema 结构以及 SQL 方面没有差异,因此很容易采用。基础设施团队可以轻松地在 TiDB Cloud 上创建测试应用程序。

可操作性

为了验证 TiDB Cloud 的可操作性,该团队模拟了从友商的 DBaaS 产品中迁移数据。团队通过监控仪表板上的资源和复杂查询来验证管理控制台的可用性,迁移到 TiDB Cloud 很顺利,没有任何问题。

“控制台和仪表板非常简单易用,你无需阅读文档就可以打开它们并直观地执行任务,管理服务使用起来非常简单,团队无需任何额外的培训或学习成本即可上手。 ”—— CAPCOM 基础设施团队 Ryohei Morita

性能和可扩展性

基础设施团队以每秒 1000 个请求的工作负载测试 TiDB Cloud 性能。TiDB Cloud 满足了 CAPCOM 新游戏对数据库选型的所有要求,在运行期间扩展 TiDB 的性能并不会影响游戏的质量。测试证明,TiDB Cloud 做到了一键按需扩展。

容错性

在测试中,TiDB Cloud 可靠性工程团队帮助 CAPCOM 进行了容错测试,该测试暂停了三个 TiKV 实例中的一个以模拟性能下降的极限场景,通过运行基准测试来测试自动恢复功能。

“每秒查询次数 (QPS) 暂时下降了三分之一后,服务逐渐恢复,在恢复过程中始终保持连接,游戏应用端也没有发生错误。”—— CAPCOM 基础设施团队 Ryohei Morita

响应迅速的团队

除了上述优势,PingCAP 的响应能力也是 CAPCOM 选择 TiDB Cloud 的重要原因。

“ 作为一个全球化团队,PingCAP 工程师对问题的响应速度让我们感到非常满意。在验证测试中,我们提出 TiDB Cloud 实例类型有点单一,会影响到服务部署的灵活性。PingCAP 团队立即增加了新的实例类型,这种响应速度对于其他服务提供商来说不敢想象。”—— CAPCOM 基础设施团队 Ryohei Morita

未来展望

结合评估的结果以及 TiDB Cloud 在 GCP 上的稳定性、防止供应商锁定的能力等诸多优点,CAPCOM 基础设施团队最终选择了 TiDB Cloud,并将新游戏的多个开发环境合并到一个 TiDB 集群中,节省了总体拥有成本。随着游戏需求的增加,预期的数据库访问量也将显著增加,基础设施团队计划在未来进行更大规模的测试,他们坚信 TiDB Cloud 也将满足这些测试中的所有性能预期。

TiDB x CAPCOM | 为在线游戏提供灵活、可靠、可扩展的数据库服务相关推荐

  1. 玩bing提供的多种免费在线游戏打发时间(popcap出品)

    当你无聊的时候,玩在线游戏来打发时间是非常好的选择,现在微软的搜索引擎bing中就带有多款顶级的在线游戏,包括宝石迷阵2.8球冠军.植物大战僵尸.祖玛等等,虽然这些游戏看上去非常简单,但是大多数情况下 ...

  2. 游戏机简史_Flash在线游戏开发-简史

    游戏机简史 This is the first of two articles that will outline a little of what you can do in the realms ...

  3. 使用FLEX3开发大型多人在线游戏

    使用FLEX3开发大型多人在线游戏 2009-09-02 10:07 使用FLEX3开发大型多人在线游戏 收藏 使用FLEX3开发大型多人在线游戏 大型多人在线游戏(MMO)技术已经涉足到各种软件形式 ...

  4. 大型多人在线游戏开发

    http://book.csdn.net/bookfiles/329/index.html 书名:大型多人在线游戏开发 作者:(美)亚历山大 编,史晓明 译 来源:人民邮电出版社 出版时间:2006年 ...

  5. 使用Adobe Flex 3开发大型多人在线游戏

    使用Adobe Flex 3开发大型多人在线游戏 2011年03月28日 大型多人在线游戏(MMO) 技术已经涉足到各种软件形式中了. 当我们还在思考MMO 时, 多人游戏已经使很多玩家能够实时连接进 ...

  6. 英特尔“包抄”英伟达:oneAPI对标CUDA、为《王者荣耀》云游戏提供GPU

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 英特尔的GPU"大招"--硬件产品和软件生态--终于一起来了. AI时代,GPU对计算加速的重要性毋庸置疑. 连英特尔 ...

  7. apache在线升级yum_基于Redis实现在线游戏积分排行榜 - phyger

    介绍 本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能. 背景知识 Redis Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化 ...

  8. BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...

    BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商.其开发套件为网络游戏提供了一整套解决方案,可大幅度提高游戏产品质量,并使用户大大降低游戏开发成本,从 ...

  9. Flash 多人在线游戏教程 - TicTacToe

    这个教程教您如何开始制作 自己的多人在线flash游戏! 本教程是基于一款经典的回合制游戏Tic-Tac-Toe . 开发环境需求 • Windows 操作系统 • JRE • Flash / Fle ...

最新文章

  1. 转Meta的http-equiv属性详解
  2. [转]ASP.NET页面生命周期描述
  3. 原生微信小程序父组件调用子组件中的方法
  4. 敏捷外包工程系列之四:合理选择质量管理的等级(一)
  5. sendmail配置
  6. 设计模式-(8)外观(swift版)
  7. Java基准测试工具JMH使用
  8. TracePro小白学习操作
  9. php源码 gd,php 源码安装没有gd库
  10. could not find Fragment constructor
  11. 孙子兵法始计篇读后感&心得(上)
  12. Photoshop CS5软件安装教程
  13. dell r630 配置raid_Dell服务器设置Raid5
  14. 如何在Photoshop中更改某人的眼睛颜色
  15. 帝国CMS[!--onclick--]标签动态显示页面点击数,解决刷新页面浏览量无变化的问题
  16. (附源码)计算机毕业设计ssm高校教材管理系统
  17. 巅峰极客2022初赛 部分题解
  18. CW32L083系列MCU系统时钟详解
  19. Docker镜像瘦身
  20. [VOT12](2017CVPR) CSR-DCF: Discriminative Correlation Filter Tracker with Channel and Spatial

热门文章

  1. 東京喰種_经典台词中日双语3
  2. python(opencv2、PIL)将图片透明背景转换成白色背景的两种方法
  3. 转载……经典面试题目
  4. python 读取outlook邮箱邮件
  5. 如何修改Exchange邮箱的英文界面
  6. Mac 和 Win,到底用哪个系统学编程?
  7. git指令:从dev分支上克隆代码
  8. 用计算机来弹下山,森林报测试题大全及答案
  9. java:100以内的所有质数的输出
  10. MSVCR80D.dll not found