游戏服务器结构概述

 

一般来说,现在网络游戏的服务器设计大致分为以下三大类:

1:单服务器结构

2:多服务器结构. (根据服务器负责功能不同,有按地图范围进行划分的服务器设计,有按功能划分的服务器设计)

3:分布式服务器结构.

一:单服务器结构

在比较起先的MMORPG游戏中,大部分使用的是单服务器结构,一台服务器容纳人数大约为1500-2000人左右,根据硬件不同和游戏需要涉及的AI,逻辑等复杂度不同会有少许出入.

但是这种方式慢慢被淘汰了,因为网络游戏用户对游戏的品质要求越来越高,用户群也越来越大,开发者们不得不牺牲这种开发效率快,逻辑简单,但容载量小的单服务器结构.

二:多服务器结构

为了提高同服在线人数,多服务器结构慢慢流行起来,现在大部分游戏服务器结构也是基于该类结构设计的.

根据策划需求不同,多服务器结构可以设计为多种,一般来说,比较主流的功能分布方式有以下两中: 按地图划分服务器,按功能划分服务器.

按地图划分服务器,结构清晰,实现难度小,效率也相对比较高.但是会有部分资源的浪费(因为玩家不可能平均分布在每个地图上),另外一旦总控服务器(负责地图服务器间的分配管理的服务器)挂掉的话,会导致所有的地图服务器无法正常工作,而且由于每个地图保存一份数据,数据保存方面是相对独立的,所以数据安全性无法保障,一旦某地图服务器挂掉,则很大可能会遗失数据.

按地图划分服务器的话,一般服务器是分为以下三部分,世界服务器,地图服务器,网关服务器.

世界服务器负责世界地图的管理,它一般负责管理地图服务器的工作分配,数据转移通知功能,一些全局性的功能它也负责,包括读取发布网络游戏配置信息,全地图聊天公告的发布等.

地图服务器各自间是完全独立的,各自负责该地图区域内的一切功能,包括怪物AI,该地图的NPC,怪物,玩家,物品等所有信息,而且各自拥有独立的数据库进行记录.当一个玩家从一个地图切换到另一个地图时,地图数据库将通知世界数据库,世界数据库再通知另一个地图服务器,进行这俩地图服务器之间的用户数据传输.

网关数据库通常是负责玩家登陆的功能,同时也兼责一些世界服务器的调配功能.

//-----------------------------------------

按功能划分服务器的话,则是一种面象服务的设计思想,将游戏逻辑中某些常用密集型的功能分离开来,单独做为一个服务器进行控制操作,例如,怪物AI单独由一个服务器负责,物品管理单独由一个服务器负责等等,按照逻辑职能进行服务器分割.

这样做的好处是,当一个服务器出现问题的时候,是不会影响其他模块的运行,而且扩充性相对比较优秀简便.

但是一旦重要的服务器挂掉,如物品服务器挂掉,依旧是一个很灾难性的结果.不过,由于划分出了单独的服务器,保证了数据的分布式存放,比起场景划分服务器来说,多少还是安全了许多.另外,功能划分服务器还有一个比较大的问题就是,由于各模块之间有直接或间接联系,在服务器进行调试的时候难度会比较大.

三:分布式结构.

无特殊研究,待补充.仅知道支持远程对象调用,动态分布节点吞吐数据确保了服务器受压平衡,能够支持关键数据的多节点冗余确保了数据安全性.

服务器的设计考虑应从几个方面进行:

1:各服务器的吞吐数据平衡性

2:C-S-C的消息响应时间

3:数据的安全可靠性

4:开发测试效率,维护效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值