1 / 27
文档名称:

百万用户级游戏服务器架构设计样本.doc

格式:doc   大小:60KB   页数:27页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

百万用户级游戏服务器架构设计样本.doc

上传人:业精于勤 2020/10/31 文件大小:60 KB

下载得到文件列表

百万用户级游戏服务器架构设计样本.doc

相关文档

文档介绍

文档介绍:百万用户级游戏服务器架构设计本文从最简单游戏服务器架构开始讲起,结合主流WOW等大型游戏服务器设计思绪和mangos部分理念,一步一步揭开网络游戏服务器架构设计方法,对初学者尤其有帮助。0D8z+[,w7o9_8F0i      本文不仅针对大型网游设计,对中小型和休闲棋牌类游戏服务器设计,也有很大启发作用。%Z#x+服务器结构探讨--最简单结构  所谓服务器结构,也就是怎样将服务器各部分合理地安排,以实现最初功效需求。所以,结构本无所谓正确和错误;当然,优异结构更有利于系统搭建,对系统可扩展性及可维护性也有更大帮助。  好结构不是一蹴而就,而且每个设计者心中那把尺全部不相同,所以这个优异结构定义也就没有定论。在这里,我们不计划对现有游戏结构做评价,而是试着从头开始搭建一个我们需要MMOG结构。  对于一个最简单游戏服务器来说,它只需要能够接收来自用户端连接请求,然后处理用户端在游戏世界中移动及交互,也即游戏逻辑处理即可。假如我们把这两项功效集成到一个服务进程中,则最终结构很简单:  client-----server  嗯,太简单了点,这么也敢叫服务器结构?好吧,现在我们来往里面稍稍加点东西,让它看起来更像是服务器结构部分。  通常来说,我们在接入游戏服务器时候全部会要提供一个帐号和密码,验证经过后才能进入。相关为何要提供用户名和密码才能进入问题我们这里不计划做过多讨论,云风曾对此也提出过类似疑问,并给出了只用一个标识串就能进入设想,有爱好能够去看看她们讨论。但不管是采取何种方法进入,照现在看来我们服务器起码得提供一个帐号验证功效。  我们把观察点先集中在一个大区内。在大多数情况下,一个大区内全部会有多组游戏服,也就是多个游戏世界可供选择。简单点来实现,我们完全能够抛弃这个大区概念,认为一个大区也就是放在同一个机房多台服务器组,各服务器组间没有什么关系。这么,我们可为每组服务器单独配置一台登录服。最终结构图应该像这么:  loginServer  gameServer  |          /  |        /  client  该结构下玩家操作步骤为,先选择大区,再选择大区下某台服务器,即某个游戏世界,点击进入后开始帐号验证过程,验证成功则进入了该游戏世界。不过,假如玩家想要切换游戏世界,她只能先退出目前游戏世界,然后进入新游戏世界重新进行帐号验证。  早期游戏大全部采取是这种结构,有些游戏在实现时采取了部分技术手段使得在切换游戏服时不需要再次验证帐号,但整体结构还是未做改变。  该结构存在一个服务器资源配置问题。因为登录服处理逻辑相对来说比较简单,就是将玩家提交帐号和密码送到数据库进行验证,和生成会话密钥发送给游戏服和用户端,操作完成后连接就会立即断开,而且玩家在以后游戏过程中不会再和登录服打任何交道。这么处理短连接过程使得系统在大多数情况下全部是比较空闲,不过在一些时候,因为请求比较密集,比如开新服时候,登录服负载又会比较大,甚至会处理不过来。 另外在实际游戏运行中,有些游戏世界很火爆,而有些游戏世界却很冷清,甚至没有多少人玩情况也是很常见。所以,我们能否更合理地配置登录服资源,使得整个大区内登录服能够共享就成了下一步改善目标。 服务器结构探讨--登录服负载均衡  回想一下我们在玩wow时操作步骤:,首先就会要求我们输入用户名和密码进行验证,验证成功后才会出来游戏世界列表,以后是排队进入游戏世界,开始游戏...  能够看到跟前面描述有个很显著不一样,那就是要先验证帐号再选择游戏世界。这种结构也就使得登录服不是固定配置给个游戏世界,而是全区共有。  我们能够试着从实际需求角度来考虑一下这个问题。正如我们之前所描述过那样,登录服在大多数情况下全部是比较空闲,可能我们一个拥有20个游戏世界大区仅仅使用10台或更少登录服即可满足需求。而当在开新区时候,或许要配置40台登录服才能应付那如潮水般涌入玩家登录请求。所以,登录服在设计上应该能满足这种动态增删需求,我们能够在任何时候为大区增加或降低登录服布署。  当然,在这里也不会存在要求添加太多登录服情况。还是拿开新区情况来说,即使新增加登录服满足了玩家登录请求,游戏世界服承载能力仍然有限,玩家一样只能在排队系统中等候,或是进入到游戏世界中造成大家全部卡。  另外,当我们在增加或移除登录服时候不应该需要对游戏世界服有所改动,也不会要求重启世界服,当然也不应该要求用户端有什么更新或修改,一切全部是在背后自动完成。  最终,相关数据持久化问题也在这里考虑一下。通常来说,使用现有商业数据库系统比自己手工技术优异要明智得多。我们需要持久化数据有玩家帐号及密码,玩家创建角色相关信息,另外还有部分游戏世界全局共有数据也需要持久化。  好了,需求已经提出来了,现

最近更新

香菇食品电商平台客户服务合同 3页

高品质外墙涂料采购与销售合作协议 2页

高层住宅小区消防系统升级改造工程施工合同 3页

环境温度对真空泵性能的影响 51页

2025年月英语四六级真题试卷答案 9页

环境因素识别与评价清单 7页

高校物流专业实训项目报告书 3页

2025年月份托班育儿知识 6页

健康主题球类运动体验馆打造步骤 54页

高空作业塔吊起重机租赁安全协议 3页

2025年最美的时光作文600字记叙文 8页

2025年最美教师作文600字范文精选4篇 6页

溯源技术优化策略研究-洞察及研究 35页

焊工(初级)上岗证题库及答案 22页

湖南省张家界市桑植县2025年-2025年八年级(上.. 21页

湖南工业大学数控技术试题二及答案 15页

国内非药物疗法在阿尔茨海默病防治中的应用进.. 38页

2025年最新车辆运输合同模板 10页

光伏电站资产证券化服务前沿研究 34页

海盗船的管理制度 10页

高速铁路土方运输合同 2页

二零二五年度绿色建筑改造工程内部承包服务协.. 50页

二零二五年度电子商务平台合作协议书字样范本.. 35页

统信UOS桌面操作系统-基本操作用户手册 11页

门式起重机安全技术交底 6页

装饰工程施工进度计划规划方案横道图 4页

高要十大名墓 震惊全国睇下有无你条村 3页

中国成人ICU镇痛和镇静治疗指南课件 39页

部编版一年级下语文暑假作业试题汇总 12页

009分离性体验量表DES-II 3页