为了更好地应对游戏的全球化以及在线交付的趋势,Capcom 基础架构团队决定充分利用公共云服务,并在 Google Cloud Platform (GCP) 上构建新的在线游戏核心组件,这项工作的关键是要找到一款合适的数据库。
业务挑战
在线游戏玩家无论身在何处都希望获得可靠、流畅的游戏体验。在线游戏必须实时响应并发连接的动态变化,这就意味着服务器必须就近部署在玩家交互所处的国家,并且数据库必须随着数据量的变化而弹性扩展。
随着用户群的意外增长以及新游戏场景、项目、活动和新游戏方式的不断增加,原始数据库经常需要处理超出预期的负载。Capcom 基础架构团队需要一款能够响应高度可变的工作负载并针对 GCP 环境进行优化的数据库。
基础架构团队倾向于提供完全托管服务的数据库,他们需要专业的数据库工程师来完成数据库故障处理和性能调优等任务,从而使得基础设施团队能够专注于自己的主要工作。
数据库选型
该团队调研了几款数据库,包括那些在 GCP 以外的基础设施即服务 (IaaS) 平台上运行的数据库。然而,没有一款数据库能够同时满足他们对关系型数据库以及对灵活性能扩展的需求。
TiDB 既有兼容 MySQL 的接口,也有提供灵活扩展的分布式架构。TiDB 由三层组成:解释 SQL 的 TiDB 层、存储数据的 TiKV 层和协调集群的 Placement Driver,每一层都可以根据需要进行灵活的扩缩容。
基础设施团队成员 Ryohei Morita 分享了团队第一次接触 TiDB Cloud 的经历:
“我知道云原生计算基金会(CNCF)正在托管 TiKV。在收到 TiDB Cloud 的提案后,我们立即开始在内部环境中验证 TiDB 开源版本。显然,基于 TiKV 构建的托管服务具有真正的潜力来减少我们的运营工作量,我们很快决定认真考虑。”
为什么选择 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
响应迅速的团队
除了上述优势,Capcom 还因为 PingCAP 的响应能力选择了 TiDB Cloud。
“ 作为一个全球团队,PingCAP 工程师对问题对响应速度让我们感到非常满意。在验证测试中,我们提出 TiDB Cloud 实例类型有点单一,会影响到服务部署的灵活性。PingCAP 团队立即增加了新的实例类型,这种响应速度对于其他服务提供商来说不敢想象。”—— Capcom 基础设施团队 Ryohei Morita
未来展望
结合评估的结果以及 TiDB Cloud 在 GCP 上的稳定性、防止供应商锁定的能力等诸多优点,团队最终选择了 TiDB Cloud,并将新游戏的多个开发环境合并到一个 TiDB 集群中,节省了持有成本。随着游戏需求的增加,预期的数据库访问量将显著增加,基础设施团队计划在未来进行更大规模的测试,他们坚信 TiDB Cloud 也将满足这些测试中的所有性能预期。
客户简介
行业:游戏
Capcom 是一家日本视频游戏开发商,拥有一系列全球热门游戏,其中《怪物猎人》全球销量达到 8400 万份(截至 2022 年 7 月),《生化危机》 系列游戏风靡超过 25 年。