分布式进程框架构建
现在的腾讯游戏,包括业界其他很多游戏,如魔兽世界等大多使用的是跨服务器,所以现在游戏服务器端的趋势是全面的分布式系统。相较于古老的游戏架构,分布式系统,具有方便部署到不同机器、更精细的负载均衡单位以及便于监控和问题定位等优势,更加符合闲杂用户对游戏系统的体验要求。
下图是腾讯云的分布式集群架构图,主要包括接入进程和逻辑进程。左边是客户端,腾讯有一些接入进程,主要是处理网络连接,把这些网络连接的数据做初步处理之后,再放到逻辑进程进行分析。分布式计算 云计算有可能这个逻辑进程并不是自己的进程,因此可能还会转发到别的逻辑请求,最后给客户端回应,也有一种情况是游戏需要多个回应,即一对多的请求,这个时候整个过程需要由多个进程同时满足,不同的客户端可能连接在不同的进程上面。


不管是接入进程还是逻辑进程,都需要统一的集群中心来管理,集群中心是所有集群管理的最核心的节点,用来管理多进程的模型。可以看到,如果将整个集群看成一个单位的话,每一个进程其实都可以方便的部署到不同的机器上去,通过集群中心,进程之间也可以知道对方的信息、收发数据,然后合理的将进程分布到不同的机器上,提高整个集群的容量。
那么,腾讯云是如何构建这样一个分布式的集群系统的?韩伟提到了两个关键点:分布式通信和缓存系统。
·分布式通信:现在分布式通信基本上都会使用到消息队列技术,腾讯的消息队列有一个特点,每一个消息的收发端都是一个消息队列服务。这个消息队列服务的收发端只收取自己相关的数据,这种方式可以明显减少消息列队在中转过程的传递时间。另外,腾讯云也会采用自定义路由的方式,由客户端根据需求选取合适的路由方式,灵活配置集群中心的地址。


这套系统每个进程之间的链接看起来比较复杂,但是实际上这个复杂性被一套通用的分布式通信消息队列所接管,开发者只需要了解这个集群里面有什么样的服务,并不需要自己管理这个复杂性进程,因此,这一整套系统的开发和维护上并不困难。
海量服务器运维实践
那么,这套分布式系统是如何做运维的呢?首先腾讯云会从部署角度搭建一个云服务平台,做整个集群的进程部署、进程监管等工作这个平台软件会把所有的功能划分成一个个集群,这个里面的节点数量非常多;因此,腾讯云也配套搭建了一套计算能力伸缩平台,根据需求进行自动的扩容和缩容的操作;对于服务接口的定义,系统有服务的绑定、服务的发现才能做服务对接,所以在分布式开发框架之外,也会配置服务管理系统;最后是基础运营服务平台,包含一些非功能性的能力,比如可以输出标准的日志,输入标准的监控指标等,这个平台主要是支持一些运维的操作。

韩伟最后向现场观众透露道,腾讯研发部已经将部分跟游戏逻辑关系不是特别紧密的服务都做成了云平台,比如储存方面,王者荣耀采用这套云平台的储存的同时,全民突击也会用这个存储系统,这样能够极大的提升运营效率以及运维效率。
“吃鸡”类游戏架构分析
今年从3月份开始吃鸡游戏一直占据游戏话题排行榜首位,随后,国内的厂商也开始进行这类游戏的开发,据统计,吃鸡“”类游戏的全球销量超过3000万份,同时超过240万,连续43周蝉联Steam周销量榜冠军。那么,这样一个火爆游戏的背后,其游戏架构是怎样的呢?并针对“吃鸡”类游戏在反外挂、加速、安全等方面的需求,有什么样的解决方案?来自腾讯游戏云资深架构师贺广平,就“吃鸡”类游戏架构和相关解决方案做了详尽的分析。
“吃鸡”类游戏的架构分析
下图为一个“吃鸡”类游戏完整的架构图,这里,lobby和DS服务架构用作全球部署;安全方面有DDOS防护和TP反外挂方案,其中,TSS(tencent security system) 是腾讯的反外挂系统;XMMP 是即时通讯系统,负责信息的传递;TC为腾讯充值系统-IDIP。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-69249-2.html
等到能和美帝在西太平洋别别苗头的时候