Google Cloud:Cloud Spanner在全球游戏场景下的使用

2022-04-02 00:00:00 数据库 分布式 游戏 机运 跨区

9月16日,Distributed Cloud|2021全球分布式云大会·上海站隆重召开。在全球分布式云大会不懈布道下,云计算行业对分布式云的关注度愈发高涨,以全球分布式云联盟成员为代表,涌现出了大量分布式云技术和实践成果,为分布式云计算发展夯实了基础。


2021全球分布式云大会为分布式云计算发展再添强大推力,本次大会共设有分布式云主题报告会、边缘云论坛、云原生专题论坛、分布式数据库论坛四大论坛,围绕分布式云、边缘算力、云原生、分布式架构等技术与实践展开。全球分布式云联盟联合阿里云、腾讯云、Google Cloud、中兴通讯、京东云、安迈云、网心科技等国内外分布式云技术服务商,共话分布式云创新新趋势,共谋云计算变革新未来,共享分布式云计算新红利!


在9月16日下午召开的分布式数据库论坛上,Google Cloud 架构师 郭斌发表了题为《Cloud Spanner在全球游戏场景下的使用》的精彩演讲。



郭斌先生演讲的主要内容是Google Cloud Spanner云数据库如何支撑全球游戏发展,并通过这样的视角来揭示Spanner作为云原生的分布式数据库是如何解决行业内具体问题的。

郭斌先生将游戏行业对数据库的要求进行了总结:

,数据库一定要有非常高的SLA。目前来看,Spanner是能够提供高99.999%的SLA,可以满足到绝大部分客户对SLA的需求。Google Cloud为中国出海的客户群体提供服务,其中就包括游戏出海、跨境电商、跨境金融服务,以及社交、媒体等泛娱乐产品/服务。其中游戏、跨境电商以及跨境金融服务的客户对数据库的高可用性要求非常高。

第二,游戏对性能的要求非常高,需要数据库能够很好地支撑横向扩展能力。横向扩展能力包括扩缩容;当需要收缩性能时,也可以便捷地实现收缩。为了阐明Spanner的特点,郭斌老师举例说,今年的秋季某厂商发布一款游戏,这是一款面向全球的游戏,预计有数百万玩家同时在线。在做准备时,Google按照百万玩家规模来部署Spanner数据库,建立了几百个节点的Cloud Spanner的实例,部署完成后效果非常好。但游戏上线后并没有达到预期效果,在线玩家远不足百万,Google很容易地把Spanner从几百个节点收缩成一百节点左右,回收资源,节省成本。如果游戏经过推广,吸引了更多玩家,Cloud Spanner可以继续增加节点,实现很好的横向扩展。

关于Spanner如何面对游戏行业的技术挑战,郭斌老师表示,游戏行业通常需要三种服务。种,游戏服本身,需要用计算、存储、网络来承载;第二种,平台服务,如注册、充值、聊天、邮件。第三种,游戏的数据分析,包括玩家行为分析,游戏是特别注重玩家体验的,基于数据分析的结果,可以帮助游戏厂商更好的匹配游戏玩家需求。Google在这三个场景中可以很好地满足到客户的要求。从游戏类型来看,单人游戏、回合制游戏、实时对战游戏、完整世界游戏,对数据库的要求是越来越高的,这也是Cloud Spanner擅长之处。


前面讲到了高可用性的SLA,还有一点就是,一旦数据库变成云服务之后,用户往往担心停机运维带来的困扰,针对这一担忧,Spanner是无需停机运维的,不存在运维停机时间。


此外,Cloud Spanner能够自动完成数据库Sharding,而不是手动Sharding,从而更好地支撑横向扩展和收缩。后,Cloud Spanner作为一种云原生服务,它可以降低很多管理和运维成本。


开启Cloud Spanner之旅

Google 于2007年左右自研完成并推出了Spanner数据库,作为Google 内部关系数据库的。2017年,Spanner成为Google云服务的一种,赋能给客户使用。


Spanner是比较有特点的数据库云服务,关于整体的特点,郭斌老师形象地将它比喻成金庸武侠小说中的小无相功。上层对外提供关系型数据库的要素,事务、SQL等等。底层是NoSQL技术,Spanner把两者的特点糅合在一起。



郭斌老师认为,Spanner代表了数据库发展的一个方向,代表了一种未来。究其原因,Spanner即是NewSQL,又是云原生数据库,它把数据库和云的能力结合在一起对外提供服务。它用到了分布式计算领域、NoSQL领域的新技术,例如在分布式存储领域的LMST、分布式仲裁协议的PAXOS协议,Spanner是业界个将PAXOS协议工程化实现的业界翘楚。Spanner使用Truetime跨区域的分布式事务。


Spanner作为云原生数据库是基于谷歌的网络基础设施实现,特别有利于它解决跨区域的延时问题,通过TrueTime实现分布式事务和外部强一致性。Spanner在软件堆栈里完整实现了PAXOS协议,以及自动Sharding。


郭斌老师总结说,Spanner的特点是能够简化管理、快速自动故障恢复、自动Sharding,无需手动分库分表,、没有停机运维时间。


关于跨区域配置方面,Spanner有两种配置,一种是在一个区域内部,数据有三个副本的。在这三个副本当中,自动选出主节点中,当故障发生时,会自动恢复。跨区域情况下,会有四份或更多数据实现自动的跨区域切换。


郭斌老师提到,游戏《精灵宝可梦GO(Porkemon GO)》的底层,就是使用Spanner数据库来支撑全球玩家的。此外,万代南梦宫旗下的一款ARPG类游戏,也是基于Spanner实现的对全球数百万玩家的支持。Spanner数据库,在游戏行业,特别是日本游戏行业非常火爆,日本头部的游戏客户普遍使用了Spanner数据库来支撑业务发展。中、日、韩都是游戏大国,游戏产出很多,但国内的不少游戏的架构后台偏老旧,需要一场变革,需要对游戏进行“现代化改造”,Google Cloud也非常愿意去助力中国游戏产业去实现这一次变革!

来源 https://zhuanlan.zhihu.com/p/414035118

相关文章