导读:1 月 12 日腾讯云联合 InfoQ 举办的游戏主题沙龙,来自腾讯云、腾讯游戏和三七互娱的专家们,就游戏的云端开发与运维展开了深入探讨,本文整理了部分精彩内容。
游戏观察1月19日消息,如果把游戏看成一辆赛车,那么,游戏开发在其中扮演着至关重要的发动机角色,控制着玩家所感知到的剧情、关卡、实时社交沟通、版本更新、兼容和性能等问题;而运维则充当了决定赛车生死的安全刹车,不管是端游、页游还是手游,能否扛住卡顿、宕机与 DDoS 攻击等都离不开运维的支持。但开发者往往在突破核心玩法、保障运维质量、抵御恶意攻击等方面,会遇到诸多挑战。
腾讯云,基于自身业务与海量用户,在如何打造一款爆款游戏上摸索出了一系列完整的解决方案。1 月 12 日腾讯云联合 InfoQ 举办的游戏主题沙龙,来自腾讯云、腾讯游戏和三七互娱的专家们,就游戏的云端开发与运维展开了深入探讨,本文整理了部分精彩内容。
提供云端技术支持 腾讯云游戏解决方案概述
来自腾讯云的腾讯游戏云解决方案架构副总监王璋,从游戏业务云上最佳实践和案例入手,深度剖析了游戏开发面临的技术挑战,以及腾讯云在游戏行业提供的各种解决方案,与一众参会者探讨如何寻找适合自身业务的游戏云方案。
游戏开发面临的技术挑战?
王璋首先介绍到,过去一年,游戏开发者最关心的问题主要包含加速 + 专线、攻击、游戏语音、IOPS+PPS 以及 Hadoop+AI 大数据分析等,这也是当前游戏开发者比较头疼的几个方面,基于这些问题,腾讯云提供了系列通用解决方案。
腾讯云游戏行业技术解决方案
网络加速
玩家到服务端的加速,尤其是跨国加速更多的还是由玩家去购买迅游、网易等提供的加速器产品,为降低玩家体验游戏的门槛,提升玩家的体验,腾讯云提供两套方案来实现服务端解决跨域长距离传输网络质量问题。
如下图为腾讯云的“游戏加速家架构(一)”,具体实现方式为在玩家所在的区域与游戏服务器之间架设一条专线通道构建起对等网络,通过专线链路为玩家提供上下行稳定可靠的访问体验。当然这套方案需要游戏开发者在玩家和服务器所在的区域搭建两个代理集群,用于上下行流量的转发,有一定成本开销,同时对于已经在线运营的业务涉及到玩家请求 IP 地址的变更。
另一套方案,业务的改造成本较低,即保持原有 RS(Realy Server) IP 地址不变,新增其他区域的 LBS IP 地址与映射 RS 映射,公网 IP 所在的网关集群与 RS 间为专线链路,实现一台 RS 通过多个公网 IP 辐射到不同的地域。比如,RS 在香港,国内的玩家可分别从腾讯云华北、华东、华南 Region 的 LBS IP 上行,走专线到 RS,韩国、日本、新加坡区域的玩家也同样可以就近通过本地的 LBS IP 上行访问 RS 的服务。
安全防护
除了加速解决方案,腾讯云在网络攻击的安全防护上也提供了多套方案来对抗不同特点的攻击,包括超大流量攻击对抗方案、精细化攻击对抗方案、棋牌游戏攻击对抗方案等等。以超大流量攻击对抗为例,业务遭受攻击时长占业务在线时长其实不大,所以业务的常态服务可以通过体验较好的%20BGP%20网络提供,并且%20BGP%20可以提供百%20G%20规模攻击流量的清洗,超出百%20G%20的攻击%20BGP%20的清洗成本会直线上升,因此会通过腾讯云提供的中间域名将流量自动调度到三网出口进行超大攻击流量的清洗。
其他场景的应用探索
除了上述解决方案,腾讯云针对游戏业务的痛点,还在尝试其他解决方案的探索,比如全球支付、游戏智能客服、游戏营销安全等。以游戏智能客服为例,玩家在游戏中遇到的问题大多是相似的,通过对知识库数据的分析,实现在线自动应答,依靠腾讯海量的用户标签数据,和优秀的算法,训练出真正智能的客服,游戏都可以通过智能客服解答玩家的疑问,提升玩家问题的处理效率和游戏本身的体验。
腾讯游戏海量服务架构构建之路
网络游戏和其他互联网服务一样,需要面对承载海量服务的压力,同时还需要满足游戏所要求的低延迟、高业务逻辑复杂度特性。来自腾讯游戏研发部资深架构师韩伟,基于腾讯游戏的海量架构构建经验,为大家分享了游戏海量服务的架构特征、核心模块以及弹性能力的实现手段等技术内容,为游戏开发者在面对海量用户时提供了一些借鉴思路。
分布式进程框架构建
现在的腾讯游戏,包括业界其他很多游戏,如魔兽世界等大多使用的是跨服务器,所以现在游戏服务器端的趋势是全面的分布式系统。相较于古老的游戏架构,分布式系统,具有方便部署到不同机器、更精细的负载均衡单位以及便于监控和问题定位等优势,更加符合闲杂用户对游戏系统的体验要求。
下图是腾讯云的分布式集群架构图,主要包括接入进程和逻辑进程。左边是客户端,腾讯有一些接入进程,主要是处理网络连接,把这些网络连接的数据做初步处理之后,再放到逻辑进程进行分析。有可能这个逻辑进程并不是自己的进程,因此可能还会转发到别的逻辑请求,最后给客户端回应,也有一种情况是游戏需要多个回应,即一对多的请求,这个时候整个过程需要由多个进程同时满足,不同的客户端可能连接在不同的进程上面。
不管是接入进程还是逻辑进程,都需要统一的集群中心来管理,集群中心是所有集群管理的最核心的节点,用来管理多进程的模型。可以看到,如果将整个集群看成一个单位的话,每一个进程其实都可以方便的部署到不同的机器上去,通过集群中心,进程之间也可以知道对方的信息、收发数据,然后合理的将进程分布到不同的机器上,提高整个集群的容量。
那么,腾讯云是如何构建这样一个分布式的集群系统的?韩伟提到了两个关键点:分布式通信和缓存系统。
分布式通信:现在分布式通信基本上都会使用到消息队列技术,腾讯的消息队列有一个特点,每一个消息的收发端都是一个消息队列服务。这个消息队列服务的收发端只收取自己相关的数据,这种方式可以明显减少消息列队在中转过程的传递时间。另外,腾讯云也会采用自定义路由的方式,由客户端根据需求选取合适的路由方式,灵活配置集群中心的地址。
分布式存储:分布式存储的核心要点为持久化和缓存两大块。接入代理在接到请求后,会带上一个数据片,包含数据来源等相关信息,用以做数据的追踪和留存;在缓存方面,逻辑进程负责承载玩家所要读写的数据缓存,按照腾讯游戏运营标准,玩家丢失数据的时间不能超过十分钟,因此,腾讯云会做一个定时自动回写的代码,每十分钟自动回写一次,防止数据丢失。
这套系统每个进程之间的链接看起来比较复杂,但是实际上这个复杂性被一套通用的分布式通信消息队列所接管,开发者只需要了解这个集群里面有什么样的服务,并不需要自己管理这个复杂性进程,因此,这一整套系统的开发和维护上并不困难。
海量服务器运维实践
那么,这套分布式系统是如何做运维的呢?首先腾讯云会从部署角度搭建一个云服务平台,做整个集群的进程部署、进程监管等工作这个平台软件会把所有的功能划分成一个个集群,这个里面的节点数量非常多;因此,腾讯云也配套搭建了一套计算能力伸缩平台,根据需求进行自动的扩容和缩容的操作;对于服务接口的定义,系统有服务的绑定、服务的发现才能做服务对接,所以在分布式开发框架之外,也会配置服务管理系统;最后是基础运营服务平台,包含一些非功能性的能力,比如可以输出标准的日志,输入标准的监控指标等,这个平台主要是支持一些运维的操作。
韩伟最后向现场观众透露道,腾讯研发部已经将部分跟游戏逻辑关系不是特别紧密的服务都做成了云平台,比如储存方面,王者荣耀采用这套云平台的储存的同时,全民突击也会用这个存储系统,这样能够极大的提升运营效率以及运维效率。
“吃鸡”类游戏架构分析
今年从%203%20月份开始吃鸡游戏一直占据游戏话题排行榜首位,随后,国内的厂商也开始进行这类游戏的开发,据统计,吃鸡“”类游戏的全球销量超过%203000%20万份,同时在线超过%20240%20万,连续%2043%20周蝉联%20Steam%20周销量榜冠军。那么,这样一个火爆游戏的背后,其游戏架构是怎样的呢?并针对“吃鸡”类游戏在反外挂、加速、安全等方面的需求,有什么样的解决方案?来自腾讯游戏云资深架构师贺广平,就“吃鸡”类游戏架构和相关解决方案做了详尽的分析。
“吃鸡”类游戏的架构分析
下图为一个“吃鸡”类游戏完整的架构图,这里,lobby%20和%20DS%20服务架构用作全球部署;安全方面有%20DDOS%20防护和%20TP%20反外挂方案,其中,TSS(tencent%20security%20system)%20是腾讯的反外挂系统;XMMP%20是即时通讯系统,负责信息的传递;TC%20为腾讯充值系统%20-IDIP。
整个系统看起来比较复杂,但开发者实际上只要关注两块,左边的游戏登陆模块和右边游戏服相关模块。
相关性能解决方案介绍
整体来看,“吃鸡”%20类游戏是多人同时在先游戏,兼之全球同服的特点,整个架构有四大要求和特点:高并发、低延迟、反外挂以及游戏语音,腾讯云在这四方面也提供了相应的解决方案。
高并发解决方案:吃鸡”%20类游戏的特点是同一地图会有%20100%20人以上同场竞技,需要服务端有高并发包量的处理能力和大流量吞吐能力。腾讯云采用的解决方案是高主频%20+SSD%20云盘%20+%20多队列%20+%20智能网卡的方式,提供高%20IO%20云服务器以及高可用云数据库,应对激增、高并发、海量访问需求。
低延迟解决方案:多人实时竞技,需要保证每个玩家的网络延时和稳定性要求,腾讯云在全球共用%20Lobby,统一管理和调度全球各地区服务器,如下图,在网络堵塞的情况下,A%20地域玩家可以通过加速代理直接访问%20C%20地域%20lobby%20服务。
反外挂解决方案:外挂已经严重影响到游戏的平衡,尤其在“吃鸡”类游戏中更加泛滥,一套强大反外挂系统保证游戏稳定运营,TP%20反外挂系统是腾讯自主研发的一套安全系统,通过增加客户端代码加密、外挂特征扫描、动态代码验证等措施,实时保障游戏不受外挂、木马侵害。其系统框架如下图所示:
游戏语音解决方案:竞技类游戏需要通过语音来指挥组内其他同伴的战斗,陌生玩家可以语音直接互动,也通过声音判断其他玩家的位置。下图为腾讯云的%20TMG%20游戏语音框架图,其%203D%20音效技术,利用“头部关联传输函数”(HRTF%20算法),对双耳之间的时间差异和频谱差异进行建模,形成有声源方位感的声音。同时使用采样混响方式填补%20HRIR%20缺失的环境反射声,从而构建完整的声场模型。比如在一个小房间里,不仅可以听到两个人之间的对话,还可以听到声音从墙壁中反射的效果,增加沉浸感。
目前,基于游戏开发引擎(例如%20Unreal、Unity)实现的%203D%20音效在游戏中的应用已经非常普遍了,通过游戏引擎模拟重现空间中声源方位,例如%20CS%20中射击的枪声、中弹时的音效、附近敌人轻微的脚步声,可以显著提高游戏的沉浸感,造就身临其境的游戏体验。
三七互娱游戏上云的现状与未来
三七互娱开发和运营了多款成功的游戏,从《永恒纪元》到《大天使之剑》等,在游戏开发和运维领域有着丰富的经验和心得,三七互娱运维总监龚宏绩,从三七互娱实际业务情况出发,分享了对游戏现状及未来的一些看法和思考。
龚宏绩认为,未来互联网企业只有两种存在方式:大数据和安全,而云是大数据和安全的完美结合体,也可能当下甚至未来很长一段时间唯一存在的形态。传统游戏企业在做开发和运维的时候,往往会面临区域性或者跨区域网络构建与管理、全面的系统和业务监控告警、安全事件甄别处理、大量日志收集分析处理等问题,而云,恰好能帮助解决这些事情。
云计算包含网络物理的%20IaSS%20基础设施即服务、系统容器的应用服务的%20PaSS%20平台即服务,在产品的自动扩容、虚拟化和数据高度集成等方面提供了一套完整的解决方案。在运维方面,传统互联网企业的运维可以分为三个阶段:标准化、自动化和服务化。国内的大多数企业,基本上分都处于前面的标准化和自动化两个阶段,而国内的一些云服务供应商如腾讯云、阿里云等,已经走到了服务化阶段,这些企业基于自身业务的同时,也开发了一套比较成熟的产品做成服务。
现场,龚宏绩也表示,现阶段企业上云并非完美无缺,包括三七互娱在内,大多数的游戏企业在公有云成本的管理、以及用户数据安全保障等方面都遇到了比较大的挑战,这也是现今云厂商一直在需求解决之道的方向,也将是未来云领域的技术趋势之一。
演讲最后,对龚宏绩对云技术的发展给出自己的思考:不管是大数据还是安全,从商业的角度来说,未来的技术和产品发展趋势必然是一个用户为中心的世界、一个数据驱动产品的世界、一个生态协同的世界,这是无可置疑的。
直播 + 游戏 腾讯云线上知识竞技方案详解
最近一段时间,“直播答题”已席卷互联网。王思聪力推《冲顶大会》、周鸿
推荐阅读
快播 合集
智能h3输入法合集
非主流相机合集
周易起名软件注册码合集
鲨鱼影视合集
抖音短视频合集下载
Tags:
责任编辑:小黑游戏