• 围观|第一代云原生企业米哈游如何让想象发生?


    1.png

    作者 | 贾宁宇
    来源|阿里巴巴云原生公众号

    在米哈游的办公区,有一间会议室,专门留给了阿里云工程师。

    今年,是这家二次元文化公司创立的第九年,米哈游和阿里云的交情,也有八年了。

    米哈游总裁刘伟还记得多年前,王坚博士带着八位公司高管和负责团队抵达米哈游办公室时的情景。那天,在米哈游租用的小小的办公区中,只有 30 多个工位,甚至没有一间会议室能同时容纳这十来名访客。

    那时,米哈游创立不久,阿里云也还在对外服务的起步阶段,两个初出茅庐的小兄弟机缘巧合走到了一起,彼此摸索着前行。

    那一天,王坚博士讲了这样一段话:“如果客户坐着飞机在天上飞,我们只在地上看,是很容易出故障的。要做,我们就和客户一起在天上飞。”

    临走时,王坚博士将自己的手机号写给了刘伟。他说,有任何问题,直接打电话给我。

    许多年过去了,所幸,这样的一通电话从未拨出去。而阿里巴巴核心系统也早已实现 100% 上云,验证了那句“和客户坐在同一架飞机上”。

    时间一晃而过。2020 年 9 月,在米哈游与阿里云并行的第八年,这家二次元文化公司上线了最新的代表作《原神》,全球五大区服完全承载在阿里云上。

    在这一年年底,《原神》像游戏行业的一匹黑马,热度节节上升。

    11 月 30 日,谷歌将 Google Play 2020 年度最佳游戏颁发给了《原神》;仅一天后,苹果又将 App Store 2020 iPhone 年度游戏交给了《原神》。

    这可能是中国游戏首次获得“双冠”殊荣。

    在这一年,阿里云也早已从当年的小兄弟成长为云计算行业的领军者,成为许多行业的数字化底座,也为许多中国游戏企业提供服务。

    从“相信”开始

    回到 2012 年,米哈游刚刚做出二次元游戏《崩坏学园》。

    那一年,手游市场还处于起步阶段,动漫游戏更是开发者寥寥,环顾 App Store,没有几个成型的手机动漫游戏。但在米哈游心里,未来的游戏市场,一定有国产动漫的一席之地。

    巧合的是,云计算的行业阶段和动漫游戏有些类似。作为一个新生技术,中国的云计算行业起步不久,但米哈游和阿里云都有着一个关于未来的梦想。

    没有人知道未来如何抵达,“相信”就是唯一的路径。

    传统IT时代,游戏公司的做法是自己购买服务器、自建机房、配置运维人员。这样斥巨资才能启动的重模式,将许多有想法的创业者挡在了游戏行业的门外,在那个时期,研发游戏几乎只能是大公司的专利。

    云计算带来了一个新机会——跳过一切前期的 IT 设施投入,直接在网页上点点鼠标,就能调用云算力。这几乎是为米哈游这样的创业团队量身定制的完美产品。

    2.png
    米哈游创始团队早期合影

    “崩 1”上线时,使用了阿里云的两台云服务器,小小的尝试,开启了米哈游的“云上之旅”。

    回顾起来,米哈游可以说是一代互联网创业企业的代表。诞生在云端,所有业务都在云上,率先感受着云计算高弹性、高并发、低成本等种种特色,堪称“云原生企业”。

    也正是这一代“云原生企业”的快速成长,推动着中国云计算的发展与普及。

    2016 年,米哈游上线了第三款游戏:《崩坏 3》。但在此时,米哈游仍只有两名运维人员——在传统自建服务器机房的时代,这几乎是不可想象的。

    作为早期云计算的“吃螃蟹”用户,米哈游踩过坑。

    “问题是很难避免的,关键是能不能解决问题。”米哈游的技术负责人刘霄回忆说。

    一年年过去,米哈游也渐渐成长起来,从三个人到几十人,再到几百、上千人,不再是那个没有会议室的小团队。

    米哈游也为阿里云工程师们专门留了一间会议室,对他们说,“随时来、随时用”。

    “取道”阿里云,安全出海

    起初,米哈游规模尚小,在拓展海外市场的过程中也遇到了一些波折。

    “所幸当初规模小,用户不算多,这件事的负面影响还能控制。如果是在“崩 3”、《原神》这样规模的游戏上,那损失就不可估量了。”回想起来,刘霄还有些后怕,“所以应该说,对于大部分游戏公司,云就是最好的选择,没有之一。”

    3.png

    2016 年,米哈游正式开启全面“出海”。在海外服务区,《崩坏 3》最初选择了一家海外云服务商,却遭遇了几次黑客的 DDoS 攻击,更有一次甚至影响用户正常访问。

    这是一种非常恶意的网络攻击方法:黑客在短时间内向服务器发起大量请求,造成网络拥塞,导致正常用户无法访问。

    举个更形象的例子,比如一家容纳 100 人的餐厅开业了,隔壁餐厅看着不高兴,雇了 150 个小流氓涌入这家餐厅,光坐着不吃饭,把所有空间占满了。结果,想来吃饭的普通客人都进不来。

    为了防御攻击,米哈游还曾购买了额外的安全防护服务,由于技术支持和沟通效率问题,状况没有及时得到改善。

    苦恼中,米哈游想起了阿里云,与阿里云工程师们合计一番,想出了一个方法——将玩家请求先通过阿里云高防 IP,经过流量清洗后,再转回原机房,从而抵挡了上百 GB 的 DDoS 攻击。

    困扰米哈游许久的问题,一举就被解决。

    时间已经走到了 2017 年。经过几年努力,阿里云在全球的基础设施也越建越多,在那一年底,阿里云在全球拥有 17 个区域、53 个可用区,遍布亚、欧、美各地。

    对于米哈游来说,此时此刻,应该是将“崩 3”全部迁至阿里云的最佳时机了。

    后来,在筹划《原神》时,米哈游没有再犹豫,《原神》的全球资源,全部直接上阿里云。截至目前,曾经遭遇的海外黑客攻击,未在《原神》上出现过。

    《原神》,一个前所未有的挑战

    《原神》,是米哈游和阿里云共同面临的一次巨大挑战。

    《原神》的规划有多宏伟?这不仅是一款开放世界游戏——意味着庞大的地图和人物画面、复杂的关卡设计和故事情节。更有难度的是,米哈游想做一款多平台、全球同步公测的游戏,也就是 PS4、iOS、Android、PC 等所有游戏平台,和全球五大服务区同时开服、同时上线,相同服务区内数据互通、无缝衔接。

    例如在手机上玩《原神》,切换到电脑上,玩法和进度都可以无缝衔接。

    4.png

    而且,为了更好的联机游戏体验,米哈游采取的是“大通服”。

    大部分游戏公司会采用“分服”的方式,一个区域内有很多个服务器,玩家达到一定数量后再增加服务器。但“通服”是将一个大区的所有用户都放在同一个服务器集群上,玩家的在线数骤增。

    也就是说,等到《原神》上线的那一天,全球、全服的用户一起涌入,一时的 PCU(最高在线玩家人数)可能会远远超出日常预估。

    如果米哈游能设计出这样一款产品,那么,面对这样高并发、高性能、高弹性的技术需求,阿里云能支持吗?

    有些人感到忐忑,但是米哈游一如既往地选择了阿里云。这种信任源自于双方多年的合作。

    米哈游对阿里云太熟了,这些年,他们看到了阿里云支撑着淘宝天猫度过了一次次 双11,每一年,阿里云支撑的计算峰值都会再高一些。

    “虽然我们不是电商,但游戏和技术对于高并发的需求非常相似,从 双11 来看,我们相信阿里云的技术能力是足够的。”

    他们也看到了阿里云在快速地进步。2017 年,阿里云上线了自研数据库 PolarDB,能够提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和数据备份容灾服务。

    对于米哈游来说,原本在使用老式的数据库时,备份数据耗时几个小时,游戏不得不停服一个多小时;而在 PolarDB 上,备份工作能够被缩短至秒级,大大减少了数据备份的耗时,提升了版本更新效率。

    2020 年 7 月,《原神》同时在 PS4、iOS、Android、PC 平台开启最终内测,进入了冲刺阶段。

    欢迎来到提瓦特大陆

    阿里云的工程师们又来到了那间熟悉的会议室。在最后冲刺的这两个月中,他们再次成为这里的常驻者,“把《原神》当作阿里自己的项目来做”。

    阿里云多年累积的能力,成为《原神》宏大设想实现的技术基础。

    比如,被工程师们称作“一套架构,全球部署”的资源保障能力。简单说,在全球不同的服务节点上,阿里云从基础层到数据库的一套架构产品,包括云服务器、网络资源、存储、安全、数据库等等,都采用了同一套架构,提供相同的性能体验。

    这为《原神》“全球同时开服”的需求提供了基础保障,意味着米哈游在全球也只需要搭建一套架构,而不需要每到一个服务区就因地制宜地改一次架构。

    同时,相同的性能,确保了全球五大区能够给予玩家们统一的游戏体验,不会造成“某些功能只有特定区域有,另一些区域缺失”的情况。

    再比如,PolarDB 在满足《原神》高性能游戏数据库需求的同时,又凭借着完善的产品封装形态,降低了米哈游在 IT 运维上的投入,可以让全部人马专注在游戏本身。“我们就专心做游戏上的设计,这些基础的 IT 工作,基本都交给阿里云了。”刘霄总结说。

    这是阿里云在游戏领域最大的一次全面实战。《原神》对阿里云技术的一些需求,即使已在不同客户、不同领域实践过,但这样一次性挑战所有高难度动作的项目,还是第一次。

    从全球部署和预约量来看,上线后,《原神》将成为全球在云上规模最大的游戏——几个月后,这成为一个事实。

    所以,连阿里云熟悉的“热迁移”,在《原神》上都要进一步升级。

    热迁移,意为将整个虚拟机的运行状态完整保存下来,同时快速恢复到原有或其他硬件平台上,同时,用户在使用层面不会察觉到任何差异。

    通俗点说,这有点类似于行驶在高速公路上的汽车,发动机出现报警,需要不停车完成更换。

    如果说“换汽车发动机”是一般状态,那么在《原神》上,就是一次给空中的超大型飞机换发动机的过程。而且,由于游戏对稳定性的极高要求,更换过程中,“飞机”不能有丝毫的抖动和偏移。

    需求从米哈游的会议室里传递回阿里云的飞天园区,从游戏业务传递到虚拟化业务,不同部门的工程师聚在一起想方法,摸索出一套通过智能运维系统对底层性能进行调整,实现在超高 QPS、高 CPU 和内存负载场景下的无损“AI 热迁移”方法。

    “AI 热迁移”应用在《原神》上,迄今为止,效果非常明显。

    最后两个月中,《原神》的预约量节节攀升,对服务器的需求也越来越高。终于,在服务器完成了几十次扩容并连夜进行了压力测试后,工程师们感觉到,这次,成了!

    5.png
    9 月 28 日,阿里云团队在提瓦特会议室

    9 月 28 日,《原神》全球同步公测开启,10 点,正式上线。

    那间会议室里,阿里云的 20 多名工程师紧盯着大屏上的各个指数,一个又一个峰值出现。

    最终,PCU 峰值达到了某一个数值,高于所有人的预期,但云稳稳扛住了压力。就像之前已经进行过的无数次压测一样,顺利,平静。

    门外,贴着这间会议室的名字:提瓦特。

    在提瓦特大陆上,被神选中的人将被授予“神之眼”,这些人被称为——原神。

  • 相关阅读:
    .net core 负载均衡取客户端真实IP
    淘宝api接口,淘宝开放平台api接口
    c# RSA加密解密,与java代码互通问题
    剑指Offer算法题
    Mybatis
    JVM调优
    tp6使用cli(cmd)命令行模式调用访问控制器
    php实现可逆加密函数
    HRBP
    工作其实很像一场游戏
  • 原文地址:https://www.cnblogs.com/alisystemsoftware/p/14167004.html
Copyright © 2020-2023  润新知