风靡全国,日活8000万,《王者荣耀》后台技术架构演进!
整体结构比较像 MMO 的三层结构,MMO 在腾讯有比较典型的三层级别结构。大厅服务器会根据玩家所在区,登录具体区的大厅服务器。 单个大厅进程可以承载 2 万人,单个 PvP 可以承载 1.2 万,小区登录微信一区还是二区就是角色 Logo,打在玩家身上。 《王者荣耀》现在外网有四个大区,比如 Android 手 Q、Android 微信、iOS 手 Q、iOS 微信,此外还有抢先服。 我们会用程序开关的方式,在大版本发布之前,优先更新抢先服,这时候它不能和正式服玩家匹配在一起,因为他们的版本不一致。当全服发布之后,它的版本更新一致之后,我们会打开开关,抢先服的玩家可以和正式服的玩家一起进行 PvP 的匹配。 除此之外,我们还有专门的体验服,是给策划验证相关设计的,体验服保留可能删档的操作,但在正式环境这是绝对不允许的。 另外,以前的传统手游偏单机,就会做很多协议兼容,客户端版本没有更新可以玩。但是《王者荣耀》里的主要玩法是 PvP,同时结合实现方式,不同版本的玩家不能匹配一起,所以我们没有做多版本协议兼容。 上线后的调整 上线后,《王者荣耀》本身的后台架构,整体上没有做太大的改动,因为我们做端游的时候,对这套结构比较清楚,我们知道哪个地方可能有什么样的问题,所以整个结构一直比较稳定。 但是我们做了相应的微调,做得最多的是网络本身的优化。《王者荣耀》上线的时候,市面上要求网络及时性强的即时 PvP 游戏是比较少的。 我们做了各种各样的尝试,比如在网络做 CPU 方面的性能优化、延迟、丢包等等,网络本身花的时间是最多的。 架构上的微调,像刚才提到的中转模块,我们架构中大厅机器很多,PvP 机器很多,架构中不需要每个进程知道详细信息,比如大厅服务器不需要知道后面有多少房间服务器,只需要知道后面有房间服务器,可以访问就 OK。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |