作者 | 贾宁宇
来源|阿里巴巴云原生公众号
在米哈游的办公区,有一间会议室,专门留给了阿里云工程师。
今年,是这家二次元文化公司创立的第九年,米哈游和阿里云的交情,也有八年了。
米哈游总裁刘伟还记得多年前,王坚博士带着八位公司高管和负责团队抵达米哈游办公室时的情景。那天,在米哈游租用的小小的办公区中,只有 30 多个工位,甚至没有一间会议室能同时容纳这十来名访客。
那时,米哈游创立不久,阿里云也还在对外服务的起步阶段,两个初出茅庐的小兄弟机缘巧合走到了一起,彼此摸索着前行。
那一天,王坚博士讲了这样一段话:“如果客户坐着飞机在天上飞,我们只在地上看,是很容易出故障的。要做,我们就和客户一起在天上飞。”
临走时,王坚博士将自己的手机号写给了刘伟。他说,有任何问题,直接打电话给我。
许多年过去了,所幸,这样的一通电话从未拨出去。而阿里巴巴核心系统也早已实现 100% 上云,验证了那句“和客户坐在同一架飞机上”。
时间一晃而过。2020 年 9 月,在米哈游与阿里云并行的第八年,这家二次元文化公司上线了最新的代表作《原神》,全球五大区服完全承载在阿里云上。
在这一年年底,《原神》像游戏行业的一匹黑马,热度节节上升。
11 月 30 日,谷歌将 Google Play 2020 年度最佳游戏颁发给了《原神》;仅一天后,苹果又将 App Store 2020 iPhone 年度游戏交给了《原神》。
这可能是中国游戏首次获得“双冠”殊荣。
在这一年,阿里云也早已从当年的小兄弟成长为云计算行业的领军者,成为许多行业的数字化底座,也为许多中国游戏企业提供服务。
从“相信”开始
回到 2012 年,米哈游刚刚做出二次元游戏《崩坏学园》。
那一年,手游市场还处于起步阶段,动漫游戏更是开发者寥寥,环顾 App Store,没有几个成型的手机动漫游戏。但在米哈游心里,未来的游戏市场,一定有国产动漫的一席之地。
巧合的是,云计算的行业阶段和动漫游戏有些类似。作为一个新生技术,中国的云计算行业起步不久,但米哈游和阿里云都有着一个关于未来的梦想。
没有人知道未来如何抵达,“相信”就是唯一的路径。
传统IT时代,游戏公司的做法是自己购买服务器、自建机房、配置运维人员。这样斥巨资才能启动的重模式,将许多有想法的创业者挡在了游戏行业的门外,在那个时期,研发游戏几乎只能是大公司的专利。
云计算带来了一个新机会——跳过一切前期的 IT 设施投入,直接在网页上点点鼠标,就能调用云算力。这几乎是为米哈游这样的创业团队量身定制的完美产品。
米哈游创始团队早期合影
“崩 1”上线时,使用了阿里云的两台云服务器,小小的尝试,开启了米哈游的“云上之旅”。
回顾起来,米哈游可以说是一代互联网创业企业的代表。诞生在云端,所有业务都在云上,率先感受着云计算高弹性、高并发、低成本等种种特色,堪称“云原生企业”。
也正是这一代“云原生企业”的快速成长,推动着中国云计算的发展与普及。
2016 年,米哈游上线了第三款游戏:《崩坏 3》。但在此时,米哈游仍只有两名运维人员——在传统自建服务器机房的时代,这几乎是不可想象的。
作为早期云计算的“吃螃蟹”用户,米哈游踩过坑。
“问题是很难避免的,关键是能不能解决问题。”米哈游的技术负责人刘霄回忆说。
一年年过去,米哈游也渐渐成长起来,从三个人到几十人,再到几百、上千人,不再是那个没有会议室的小团队。
米哈游也为阿里云工程师们专门留了一间会议室,对他们说,“随时来、随时用”。
“取道”阿里云,安全出海
起初,米哈游规模尚小,在拓展海外市场的过程中也遇到了一些波折。
“所幸当初规模小,用户不算多,这件事的负面影响还能控制。如果是在“崩 3”、《原神》这样规模的游戏上,那损失就不可估量了。”回想起来,刘霄还有些后怕,“所以应该说,对于大部分游戏公司,云就是最好的选择,没有之一。”
2016 年,米哈游正式开启全面“出海”。在海外服务区,《崩坏 3》最初选择了一家海外云服务商,却遭遇了几次黑客的 DDoS 攻击,更有一次甚至影响用户正常访问。
这是一种非常恶意的网络攻击方法:黑客在短时间内向服务器发起大量请求,造成网络拥塞,导致正常用户无法访问。
举个更形象的例子,比如一家容纳 100 人的餐厅开业了,隔壁餐厅看着不高兴,雇了 150 个小流氓涌入这家餐厅,光坐着不吃饭,把所有空间占满了。结果,想来吃饭的普通客人都进不来。
为了防御攻击,米哈游还曾购买了额外的安全防护服务,由于技术支持和沟通效率问题,状况没有及时得到改善。
苦恼中,米哈游想起了阿里云,与阿里云工程师们合计一番,想出了一个方法——将玩家请求先通过阿里云高防 IP,经过流量清洗后,再转回原机房,从而抵挡了上百 GB 的 DDoS 攻击。
困扰米哈游许久的问题,一举就被解决。
时间已经走到了 2017 年。经过几年努力,阿里云在全球的基础设施也越建越多,在那一年底,阿里云在全球拥有 17 个区域、53 个可用区,遍布亚、欧、美各地。
对于米哈游来说,此时此刻,应该是将“崩 3”全部迁至阿里云的最佳时机了。
后来,在筹划《原神》时,米哈游没有再犹豫,《原神》的全球资源,全部直接上阿里云。截至目前,曾经遭遇的海外黑客攻击,未在《原神》上出现过。
《原神》,一个前所未有的挑战
《原神》,是米哈游和阿里云共同面临的一次巨大挑战。
《原神》的规划有多宏伟?这不仅是一款开放世界游戏——意味着庞大的地图和人物画面、复杂的关卡设计和故事情节。更有难度的是,米哈游想做一款多平台、全球同步公测的游戏,也就是 PS4、iOS、Android、PC 等所有游戏平台,和全球五大服务区同时开服、同时上线,相同服务区内数据互通、无缝衔接。
例如在手机上玩《原神》,切换到电脑上,玩法和进度都可以无缝衔接。
而且,为了更好的联机游戏体验,米哈游采取的是“大通服”。
大部分游戏公司会采用“分服”的方式,一个区域内有很多个服务器,玩家达到一定数量后再增加服务器。但“通服”是将一个大区的所有用户都放在同一个服务器集群上,玩家的在线数骤增。
也就是说,等到《原神》上线的那一天,全球、全服的用户一起涌入,一时的 PCU(最高在线玩家人数)可能会远远超出日常预估。
如果米哈游能设计出这样一款产品,那么,面对这样高并发、高性能、高弹性的技术需求,阿里云能支持吗?
有些人感到忐忑,但是米哈游一如既往地选择了阿里云。这种信任源自于双方多年的合作。
米哈游对阿里云太熟了,这些年,他们看到了阿里云支撑着淘宝天猫度过了一次次 双11,每一年,阿里云支撑的计算峰值都会再高一些。
“虽然我们不是电商,但游戏和技术对于高并发的需求非常相似,从 双11 来看,我们相信阿里云的技术能力是足够的。”
他们也看到了阿里云在快速地进步。2017 年,阿里云上线了自研数据库 PolarDB,能够提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和数据备份容灾服务。
对于米哈游来说,原本在使用老式的数据库时,备份数据耗时几个小时,游戏不得不停服一个多小时;而在 PolarDB 上,备份工作能够被缩短至秒级,大大减少了数据备份的耗时,提升了版本更新效率。
2020 年 7 月,《原神》同时在 PS4、iOS、Android、PC 平台开启最终内测,进入了冲刺阶段。
欢迎来到提瓦特大陆
阿里云的工程师们又来到了那间熟悉的会议室。在最后冲刺的这两个月中,他们再次成为这里的常驻者,“把《原神》当作阿里自己的项目来做”。
阿里云多年累积的能力,成为《原神》宏大设想实现的技术基础。
比如,被工程师们称作“一套架构,全球部署”的资源保障能力。简单说,在全球不同的服务节点上,阿里云从基础层到数据库的一套架构产品,包括云服务器、网络资源、存储、安全、数据库等等,都采用了同一套架构,提供相同的性能体验。
这为《原神》“全球同时开服”的需求提供了基础保障,意味着米哈游在全球也只需要搭建一套架构,而不需要每到一个服务区就因地制宜地改一次架构。
同时,相同的性能,确保了全球五大区能够给予玩家们统一的游戏体验,不会造成“某些功能只有特定区域有,另一些区域缺失”的情况。
再比如,PolarDB 在满足《原神》高性能游戏数据库需求的同时,又凭借着完善的产品封装形态,降低了米哈游在 IT 运维上的投入,可以让全部人马专注在游戏本身。“我们就专心做游戏上的设计,这些基础的 IT 工作,基本都交给阿里云了。”刘霄总结说。
这是阿里云在游戏领域最大的一次全面实战。《原神》对阿里云技术的一些需求,即使已在不同客户、不同领域实践过,但这样一次性挑战所有高难度动作的项目,还是第一次。
从全球部署和预约量来看,上线后,《原神》将成为全球在云上规模最大的游戏——几个月后,这成为一个事实。
所以,连阿里云熟悉的“热迁移”,在《原神》上都要进一步升级。
热迁移,意为将整个虚拟机的运行状态完整保存下来,同时快速恢复到原有或其他硬件平台上,同时,用户在使用层面不会察觉到任何差异。
通俗点说,这有点类似于行驶在高速公路上的汽车,发动机出现报警,需要不停车完成更换。
如果说“换汽车发动机”是一般状态,那么在《原神》上,就是一次给空中的超大型飞机换发动机的过程。而且,由于游戏对稳定性的极高要求,更换过程中,“飞机”不能有丝毫的抖动和偏移。
需求从米哈游的会议室里传递回阿里云的飞天园区,从游戏业务传递到虚拟化业务,不同部门的工程师聚在一起想方法,摸索出一套通过智能运维系统对底层性能进行调整,实现在超高 QPS、高 CPU 和内存负载场景下的无损“AI 热迁移”方法。
“AI 热迁移”应用在《原神》上,迄今为止,效果非常明显。
最后两个月中,《原神》的预约量节节攀升,对服务器的需求也越来越高。终于,在服务器完成了几十次扩容并连夜进行了压力测试后,工程师们感觉到,这次,成了!
9 月 28 日,阿里云团队在提瓦特会议室
9 月 28 日,《原神》全球同步公测开启,10 点,正式上线。
那间会议室里,阿里云的 20 多名工程师紧盯着大屏上的各个指数,一个又一个峰值出现。
最终,PCU 峰值达到了某一个数值,高于所有人的预期,但云稳稳扛住了压力。就像之前已经进行过的无数次压测一样,顺利,平静。
门外,贴着这间会议室的名字:提瓦特。
在提瓦特大陆上,被神选中的人将被授予“神之眼”,这些人被称为——原神。