对服务器了解的人都知道,不同用途的服务器架构是不一样的,比如说游戏专用服务器的架构和跨境电商专用的服务器架构就不一样。那么,游戏专用服务器的架构是怎么样的呢?下面小薇可以和大家一起来说一说。
服务器端软件的本质,是一个会长期运行的程序,并且它还要服务于多个不定时,不定地点的网络请求。所以这类软件的特点是要非常关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。
功能约束,是架构设计决定性因素。一个万能的架构,必定是无能的架构。一个优秀的架构,则是正好把握了对应业务领域的核心功能产生的。游戏领域的功能特征,于服务器端系统来说,非常明显的表现为几个功能的需求:
对于游戏数据和玩家数据的存储
对玩家客户端进行数据广播
把一部分游戏逻辑在服务器上运算,便于游戏更新内容,以及防止外挂。
针对以上的需求特征,在服务器端软件开发上,我们往往会关注软件对电脑内存和CPU的使用,以求在特定业务代码下,能尽量满足承载量和响应延迟的需求。最基本的做法就是“时空转换”,用各种缓存的方式来开发程序,以求在CPU时间和内存空间上取得合适的平衡。在CPU和内存之上,是另外一个约束因素:网卡。网络带宽直接限制了服务器的处理能力,所以游戏服务器架构也必定要考虑这个因素。
对于游戏服务器架构设计来说,最重要的是利用游戏产品的需求约束,从而优化出对此特定功能最合适的“时-空”架构。并且最小化对网络带宽的占用。
因此,我们在租用游戏专用服务的时候,不仅要找一个性价比高的游戏专用服务器服务商,并且,也要查看一下该服务商是否能提出一个完美的架构方案出来。
网友评论
最新评论