系统服务是游戏源代码搭建非常重要的一环,游戏服务器有多种搭建模型,不同的模型有不同的优缺点。接下来我们就对服务器模型进行分析,充分了解各种模型的优缺点,方便技术人员选择合适的方式进行游戏源代码搭建。
一、分服模型
分服模型是非常经典的一种服务器模型,它是通过搭建多台服务器,每台服务器单独运行的方式,为用户提供服务。需要注意的是,在分服模型之下,游戏源代码每台服务器的账号都是独立的,只有相同服务期内的用户才能进行互动交流,不能跨服交互。这就相当于将一个相同的游戏系统,分为多个单个运行的游戏系统。
在分服模型之下,游戏源代码可以搭建两种游戏服务器,单进程游戏服务器和多进程游戏服务器。但进程游戏服务器是指只能在服务器中创建一个进程,如果这个进程退出了,整个游戏世界都会消失。
如果系统使用单进程服务器,那么迟早会达到承载量的极限,而且游戏越复杂,单进程服务器的承载量就越低,这就推动了多进程服务器的出现。游戏源代码使用多进程服务器调度架构,不仅能提高系统承载量,还可以充分利用多核CPU的能力,更容易进行系统监控和容灾。
二、全服分线模型
随着多进程服务器出现,和游戏业务的特点分析,技术人员发现,游戏源代码那些需要持久化存储的数据,一般都是游戏存档以及在运行期间只读的数据,这就方便了存储进程的分布,于是出现了全服分线模型。全服分线模型是对分服模型的优化,技术人员可以将玩家产生的游戏数据放入同一个存储集群中,不用和服务器进行绑定。
如果游戏源代码使用全服分线架构,就需要面临存储带来的挑战,系统扩容和容灾就是挑战的一部分。在全服分线模型之下,游戏玩家可以选择任意一个服务器登录,还可以将用户系统账号数据提取出来,虽然方便了用户进行转服等操作,但是会增加扩容和容灾的复杂度。除了容灾和扩容之外,游戏源代码还需要搭建一个稳定的数据库服务。
其实游戏源代码还可以使用分服分线模型进行后端服务搭建,如果开发人员想要让尽量多的玩家进行互动游戏的话,就可以使用全服全线模型。