综述
本文探究了游戏后台架构的发展历史及展望。随着技术的进步,游戏需求的变化,游戏架构也在不断发生变化来满足越来越高的游戏需求。总体来说是需求在推动着架构的变化。本文最后也根据现在人们的游戏需求和现在业界技术情况,给出了后台架构展望。
游戏后台架构发展历史
第一代网游服务器
最早的游戏服务器是1978年,英国著名的财经学校University of Essex的学生 Roy Trubshaw编写了世界上第一个MUD程序,叫做《MUD1》。MUD1是一款纯文字的世界,没有任何图片,但是不同计算机前的玩家可以在游戏里共同冒险、交流。与以往具有网络联机功能的游戏相比, MUD1是第一款真正意义上的实时多人交互的网络游戏。
MUDOS使用单线程无阻塞套接字,单服务器来服务所有玩家,架构如下:
第二代网游服务器
2000年左右,随着图形界面的出现,游戏更多的采用图形界面与用户交互。此时随着在线人数的增加和游戏数据的增加,服务器变得不抗重负。于是就有了分服模型。
分服模型是游戏服务器中最典型,也是历久最悠久的模型。在早期服务器的承载量达到上限的时候,游戏开发者就通过架设更多的服务器来解决。每个服务器的帐号是独立的,每台服务器用户的状态都是不一样的,一个服就是一个世界,大家各不牵扯。
分服模型结构如下:
在线程调度方面,与以往的单线程模型相比,又衍生出了另外两种线程模型:
- 异步-多线程:基于每个场景(或者房间),分配一个线程。每个场景的玩家同属于一个线程。
- 多进程:能够利用上多核CPU能力、更容易进行容灾处理。多进程系统比较经典的模型是“三层架构”。分成网络,游戏逻辑,数据库三个部分。