普华永道最近的一份报告指出,全球游戏行业是过去几年经历显着增长的行业之一,到 2026 年该行业(不包括电子竞技)的价值有望达到 3210 亿美元。过去仅三年时间,该行业就增加了 5 亿玩家,全球玩家总数达到 27 亿。

游戏玩家寻求丰富的体验,随着游戏行业的进一步发展,游戏玩家的期望正在逐渐提高,我们可以看到游戏玩家对顶尖的动画、身临其境的游戏情节以及对100%运行时间的要求,这些对游戏公司而言无疑是个挑战。

Cloud Ace是亚太地区拥有最多据点的Google Cloud经销商,拥有200多名工程师,是谷歌最高级别合作伙伴,多次获得Google Cloud合作伙伴奖。

作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌Workspace、谷歌云认证培训服务。

 1  选择正确数据库的重要性

创建一个高度交互的多人游戏并不容易。游戏需要确保高正常运行时间、低延迟、按需扩展的能力以及跨地理位置的一致体验。它还需要支持复杂的工作流程。

不管是什么游戏,都需要考虑大量的设计挑战和限制,例如为为数百万需要实时体验的玩家进行容量预测。

在这一切之中是一个关键问题:什么数据库将解决分布式系统的许多挑战?数据库能否提高零停机时间”服务?能否自动扩展?能否避免超时读取?能否减少运营和维护成本?

无论游戏的规模大小,选择正确的数据库是畅销游戏成功的关键驱动力之一。

 2  为什么 Spanner 是支持游戏的最佳选择?

Spanner 可以解决分布式事务的许多挑战。作为一个完全托管的、全球分布的、强一致的、具有无限规模的关系型数据库,Spanner 专为云而构建,将关系型数据库结构的优势与非关系型横向扩展相结合。Spanner 在峰值时每秒处理超过 20 亿个请求,没有任何停机时间或维护窗口。

Spanner 可轻松处理大量意外工作负载,让您专注于游戏。游戏开发人员面临的最大痛点之一是构建一个可以响应工作负载突然变化的分布式系统。任何游戏公司的一个主要问题是可扩展性:如果他们的游戏在全球流行,他们的基础设施必须能够响应突然的、难以置信的需求,同时保持一致的游戏玩家体验和运营稳定性。由于 Spanner 自动处理复制、分片和事务处理,您的游戏可以根据需要快速扩展以满足任何不可预见或尖峰的使用模式。通过使用 Spanner,您可以真正享受到关系语义(Google 标准 SQL 和 PostgreSQL 方言数据库)的所有优势以及无限的横向扩展,并让您的团队专注于最重要的事情:游戏本身。

Spanner 可以为全球游戏玩家提供支持,并为他们提供一致的体验。Spanner 能够为客户提供最严格的事务并发控制保证,从而使游戏公司能够保持设计模式的简单性。事实上,通过使用 Spanner,您可以将时间和精力集中在解决游戏开发的难题上,而不是维护数据库。

Spanner 在游戏垂直领域的用例是无穷无尽的。Spanner 可以提供广泛的数据库管理功能,包括:

  • 验证和授权玩家的个人资料;

  • 从游戏客户端、服务器和其他应用程序创建各种有状态的摄取工作流;

  • 管理用户、库存和配置文件;

  • 实施游戏内购买和排行榜;

  • 存储并快速提供玩家数据

3   Spanner 的3个重要功能

高可用性:Spanner 具有令人难以置信的高可用性和延迟保证,这使得在 Spanner 之上构建可靠的应用程序变得更加简单。Spanner 提供事务写入支持,为多区域实例提供高健壮性保证和业界领先的 99.999% 可用性。这种高可用性意味着不需要围绕 SLA 进行设计。

备份和恢复管理:Spanner 的备份管理易于配置,并提供时间点恢复以提供简化的业务连续性。备份被设计为不会对服务流量产生任何影响。Spanner 还提供时间点恢复,使数据修复和单个行、表和整个数据库的恢复变得简单,这在每天处理数千或数百万个事务时非常有用。

免费入门:Spanner 免费试用实例可让您在 90 天内免费学习和探索 Spanner。一旦您确定 Spanner 是合适的数据库,您就可以根据需要无限制地扩展,并且只需为您使用的计算容量和存储付费。此外,您不需要为游戏发布过度配置,您可以使用 Autoscaler 来管理您的 Spanner 利用率。

为什么游戏公司应该选择 Cloud Spanner 来支持他们的游戏?的更多相关文章

  1. Gamescom2014:中国游戏公司37.com进军西方海外市场

    在2014年的德国科隆国际游戏展上.Xsolla曾与37.com聊天.我们讨论了中国公司眼下进军西方市场的战略,谈到营销的最有效方法.游戏货币化,并讨论在欧洲和土耳其的网页游戏的前景. 37wan 能 ...

  2. 为什么游戏公司的server不愿意微服务化?

    背景介绍 笔者最近去面试了家游戏公司(有上市).我问他,公司有没有做微服务架构的打算及考量?他很惊讶的,我没听说过微服务耶,你可以解释一下吗? 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合 ...

  3. [Unity3D]上海某大型游戏公司的基础面试题

    一个小老乡跟我聊到去上海某大公司的基础面试题,面试结果不尽如人意,但还是分享了下面试的试题,刚刚第一次录制视频,给某人讲课,我感觉讲的还算比较耐心,但发现一些新手入门学习的弊端,可能是很普遍的现象,这 ...

  4. (NO.00005)iOS实现炸弹人游戏(二):素材选择的取舍

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前面一篇里我们基本明确了游戏的大致玩法和特点.下面就游戏中会用到 ...

  5. 开发H5游戏引擎的选择:Egret或Laya?

    开发H5游戏引擎的选择:Egret或Laya? 一.总结 一句话总结:选laya吧 二.开发H5游戏引擎的选择:Egret或Laya? 一.H5游戏开发的引擎介绍 开发H5游戏的引擎有很多,比如egr ...

  6. HTML5 游戏引擎的选择

    原生手游市场已是红海,腾讯.网易等寡头独霸天下,H5游戏市场或将成为下一个风口.据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折.如何选择适合团队和项目的引擎,笔者通过学习和项目实 ...

  7. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

    正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piec ...

  8. 第1章 游戏之乐——NIM(3)两堆石头的游戏

    NIM(3)两堆石头的游戏 1. 问题描述 假设有两堆石头,有两个玩家会根据如下的规则轮流取石头:每人每次可以从两堆石头中各取出数量相等的石头,或者仅从一堆石头中取出任意数量的石头:最后把剩下的石头一 ...

  9. cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发

     cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发 的产生 视持续更新中.... 视频存放地址例如以下:http://ipd.pps.tv/user/1058663622     ...

  10. Cocos2dx游戏开发系列笔记13:一个横版拳击游戏Demo完结篇

    懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 ) 写下这些东西的同时 旁边放了两部电影 周星驰的<还魂夜> 甄子丹的<特殊身份& ...

随机推荐

  1. onps栈移植说明(3)——添加网卡

    4. 添加网卡 移植的最后一步就是编写网卡驱动然后将网卡添加到协议栈.网卡驱动其本质上完成的是数据链路层的工作,在整个通讯链路上处于通讯枢纽位置,通讯报文的发送和接收均由其实际完成.针对网卡部分的移植 ...

  2. 动态爱心-详细教程(小白也会)(HTML)

    动态爱心 超级超级超级简单!!!赶紧做给你们的"Ta"看吧! (最后有详细步骤) 视频效果: 话不多说直接上代码 点击查看代码 <!DOCTYPE HTML PUBLIC & ...

  3. SQLSever事务

    1. 为什么要使用事务? 当一个存储过程或多个SQL语句(指代insert.update.delete类型)依次执行时候, 如果其中一条或几条发生错误,但是其他的还会继续执行,会造成数据的不一致,非常 ...

  4. Kubernetes基础_Service暴露的两种方式

    一.前言 kubernetes集群中,pod是多变的,可以被新建或删除,而且ip不稳定,不方便集群外部访问,所以提供了一种新的资源 Service ,就是就是 a set of Pod ,作用是提供一 ...

  5. qt quick工程升级,qmake工程升级至cmake

    升级原因 由于音视频工作需要,qt6比qt5的video相关更看重效率. 升级中遇到的问题 在开发的过程中,为了更快速的进行开发,对业务其他不需要代码运行效率的地方使用qml+js的方式进行编写.在升 ...

  6. 一个宁静祥和没有bug的下午和SqlSession的故事

    1 背景 这是一个安静祥和没有bug的下午.作为一只菜鸡,时刻巩固一下基础还是很有必要的,如此的大好时机,就让我来学习学习mybatis如何使用. 这可和我看到的不一样啊,让我来看看项目里怎么写的. ...

  7. Objects.requireNonNull的意义是什么

    Objects.requireNonNull方法的源码是这样: public static <T> T requireNonNull(T obj) { if (obj == null) t ...

  8. Python3 Scrapy 框架学习

    1.安装scrapy 框架 windows 打开cmd输入 pip install Scrapy 2.新建一个项目: 比如这里我新建的项目名为first scrapy startproject fir ...

  9. Docker定时删除none镜像

    在使用docker的时候会产生none镜像文件,偶尔没什么,但是比如使用了自动化部署工具那就不一样了,一天没准就上百个none镜像了,非常消耗资源,所以需要定时清理 删除 none 镜像命令 dock ...

  10. 【大数据-课程】高途-天翼云侯圣文-Day1:互联网大数据揭秘(大数据介绍&MR实现双十一举牌)

    一.大厂职级 P7:年薪百万 二.大数据发展 1.职业路线和岗位角色 2.大数据行业发展 三.大数据的位置 1.热门行业 大数据承上启下 2.三者关系 啤酒和尿不湿:启发可以放在一块 3.大数据作用 ...