- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种新型的网络游戏服务器架构设计.doc
一种新型的网络游戏服务器架构设计 摘 要:网络游戏由于需要为大量的玩家提供7*24小时的游戏服务,对游戏服务器的稳定性和高效性有较高要求。因此服务器架构设计是网络游戏开发的关键之处,本文提出了一种高性能、可伸缩、易维护的服务器架构,经过对架构的实际测试取得了较为满意的效果。 关键词:网络游戏服务器架构;高性能 中图分类号:TP368.5 网络游戏的开发可以分为客户端、服务器端的开发,客户端主要是负责游戏画面的绘制,以及和玩家的交互[1]。服务器端主要处理游戏的具体逻辑,并对玩家的游戏信息进行存储。为了给玩家良好的用户体验,游戏服务器必须保持高效、稳定,因此这对服务器开发的技术要求带来了更高的挑战[2]。 1 传统服务器架构 传统的服务器架构如图1所示,从图中可以看出整个游戏服务器共用一个Battle(战斗场景),整个架构中有若干个Game(游戏逻辑服),由Center(全局服务器)负责调度、转发游戏服务器之间的消息。这种结构的服务器设计比较简单,虽然较易实现,但是不能承载大量的用户,而且可扩展性不够强,需要进一步改进。 2 新服务器架构设计 随着对网络游戏服务器的进一步研究,设计出了一种新型服务器架构,如图2所示。下面详细介绍新架构的功能设计。 Group服务器组:Group有别于传统的服务器大区概念,1个服务器大区可以包括若干个Group。大区和大区之间的玩家ID不重复,因此从技术上不再有划分大区的意义,仅用运营需求划分。在技术上按Core服务器的性能上限来划分Group。 Game Server游戏服务器:每一个Game只保持一个与Core的连接,且在逻辑上独立,单服结构,不搞多线按world切分Game。Game是玩家主要行为逻辑的所在,Game不直连DB,所有数据交互都通过Core转发。对于Game来说,其角色及游戏内数据都是互相独立的,所以一般情况下每个Game单独配备一台数据库服务器,以减轻数据库的压力。所以Game配置的id与DB的id一一对应。 DB Server数据库服务器:每一个DB只保持与一个与Core的连接。简单的数据网络包读写逻辑,和与mysql的查询、修改交互[3]。每个DB在逻辑上也独立,容错性好,一台DB宕机,只有对应的Game才受影响。如果是按数据表划分DB的话,一台DB宕机了,对应的所有Game都会受影响。 Battle Server战场服务器:Battle和Game在结构上是基本等价的,在玩家感受上,玩家在Game和在Battle应该是一样的。不同的是一个Battle可以连接到多个Core上,这样凡是被Battle所连接的Core,对应的Game都可以一起跨服了。Battle和Core之间交互的协议与Game与Core之间交互的协议完全一致,Client通过Core从Game切换到Battle上来参加战斗,角色切换到Battle上时,也通过Core向DB要数据。 Core的逻辑相对简单,是其他服务器的网关服务器,主要工作还是转发数据,所谓转发数据就是当Core收到一个包时,不需要管网络包里的内容,只需要从网络包中读出是发给哪个服务器,然后原封不动的发出去。 Center Server中央服务器:中心服务器全服唯一,连接所有的Core,主要功能包括信息全服广播。在实际运营中,需要权限会比普通玩家高所谓的GM,只需要做一个客户端连接Center,在Center服务器上执行GM命令,这样可以有更高的安全性。维护时,发送服务器关机命令也可以由Center发出,各个服务器走各自的关机流程。 3 新架构的性能分析 新架构中各个服务器的功能都相对比较单纯,服务器间的连接关系也比较简单。而且跨服可以不用断线,不用在game和battle之间传递玩家数据。Group的灵活性大,可以任意配置,最小粒度甚至可以做到1个game+1个db+1个core。 通过实际的架构运行发现新架构极大程度减少了服务器的运算开销,这是因为Core服务器它只是一台管理连接的服务器,并不打算让他承担太多的游戏逻辑,而Core正好满足这个需求,主要逻辑还在Game上。Core连接了各类服务器和客户端,给其他服务器和客户端充当网关的作用,负责转发他们之间交流数据的网络包,同时也管理了客户端的连接与断开。Core因而分担了部分原属于Game的逻辑,从而减轻了Game的性能开销。 4 新架构的测试分析 一个游戏架构无论涉及得多完美都必须经过严格的功能测试才能正式使用,因此设计了一些具体的测试方案: (1)对异常情况的测试:通过制造错误情况测试服务器对出错的处理,因为有些出错条件的环境实际操作难以实现,这就需要故意修改代码来达到目的,以测试服务器的容错性,避免一旦出现错误,服务器会宕掉的情况。并检查错误提示或者错误日志是否正确;只有通过异常测
有哪些信誉好的足球投注网站
文档评论(0)