首先,二话不说,上图(用Windows画图画的。。。)
这个图是一个区的架构图,所有区的架构是一样的。上面虚线框的ServerGroup和旁边方框内的架构一样。图上的所有x N的服务器,都是多台一起的。红线,绿线,和蓝线图上也有图示,这里就不多介绍了。关于Agent Server大家也能看出来,其实就是Gate。
这里主要介绍下图上的标记了号码的位置的数据连接的内容和意义。
1- 这是一条WebService的管道,在用户激活该区帐号,或者修改帐号密码的时候,通过这条通道来插入和更新用户的帐号信息。
2- 这也是一条WebService管道,用来获取和控制用户该该组内的角色信息,以及进行付费商城代币之类的更新操作。
3- 这是一条本地的TCP/IP连接,这条连接主要用来进行服务器组在登陆服务器的注册,以及登陆服务器验证帐户后,向用户服务器注册帐户登陆信息,以及进行对已经登陆的帐户角色信息进行操作(比如踢掉当前登陆的角色),还有服务器组的信息更新(当前在线玩家数量等)。
4- 这也是一条本地TCP/IP连接,这条连接用来对连接到GameServer的客户端进行验证,以及获取角色数据信息,还有传回GameServer上角色的数据信息改变。
5- 这条连接也是一条本地的TCP/IP连接,它用来进行公共信息服务器和数个游戏服务器间的交互,用来交换一些游戏世界级的信息(比如公会信息,跨服组队信息,跨服聊天频道等)。
6- 这里的两条连接,想表达的意思是,UserServer和GameServer的Agent是可以互换使用的,也就是玩家进入组内之后,就不需要再切换Agent。如果不怕乱套,也可以把登陆服务器的Agent也算上,这样用户整个过程里就不需要再更换Agent,减少重复连接的次数,也提高了稳定性。(毕竟连接次数少了,也降低了连不上服务器的出现几率)
在这个架构里面,GameServer实际上是一个游戏逻辑的综合体,里面可以再去扩展成几个不同的逻辑服务器,通过PublicServer进行公共数据交换。
UserServer实际上扮演了一个ServerGroup的领头羊的角色,它负责向LoginServer注册和更新服务器组的信息(名字,当前人数),并且对Agent进行调度,对选择了该组的玩家提供一个用户量最少的Agent。同时,它也兼了一个角色管理服务器的功能,发送给客户端当前的角色列表,角色的创建,删除,选择等管理操作,都是在这里进行的。而且,它还是一个用户信息的验证服务器,GameServer需要通过它来进行客户端的合法性验证,以及获取玩家选择的角色数据信息。
采用这种架构的游戏,通常有以下表现。
1- 用户必须激活一个大区,才能在大区内登陆自己的帐号。
2- 用户启动客户端的时候,弹出一个登陆器,选择大区。
3- 用户启动真正的客户端的时候,一开始就是输入帐号密码。
4- 帐号验证完成之后,进行区内的服务器选择。
5- 服务器选择完成之后,进入角色管理。同时,角色在不同的服务器里不能共享。
市面上符合上面几个表现特征的游戏相当的多,而且也不乏旷世巨作。这个架构不是一个新的架构,但是它足够经典和完善,并且逻辑简单而清晰,用来做MMORPG,或者其它网络游戏的服务器架构,是一种不错的选择。
文章出处:饭中淹 http://www.cppblog.com/johndragon/archive/2008/04/10/46768.html
- 大小: 84.3 KB
分享到:
相关推荐
一种高性能网络游戏服务器架构设计,对于游戏服务器设计的简单介绍。
一种新的大型通用分布式服务器架构.pdf 一种新的大型通用分布式服务器架构.pdf 一种新的大型通用分布式服务器架构.pdf 一种新的大型通用分布式服务器架构.pdf
网络游戏-一种高安全性的网络服务器架构.zip
在同一台物理服务器上安装多个虚拟服务器操作系统,无论是出于测试还是使用的目的,都能够以一种很经济的方式达到商业扩展或者增加服务器资源的目的。为了更好的帮助用户深入理解VMware虚拟架构的技术优势,以及针对...
服务器概述 服务器是指在局域网中,一种运行管理软件以控制对网络或网络资源(磁盘驱动器、打印机等)进行访问的计算机,并能够为在网络上的计算机提供资源使其犹如工作站那样地进行操作。从广义上讲,服务器是指...
高并发的解决方法有俩种,一种是使用缓存、另一种是使用生成静态页面;还有就是从最基础的地方优化我们写代码减少不必要的资源浪费:( 1.不要频繁的new对象,对于在整个应用中只需要存在一个实例的类使用单例模式....
在不同的架构设计方法中出现的软件架构视图种类很多,本文介绍最常用的两种架构视图——逻辑架构视图和物理架构视图,并通过具体案例的分析说明如何运用它们进行架构设计。当观察和描述事物大局的时候,逻辑架构和...
一种基于Qt的可伸缩全异步CS架构服务器实现,绝对值5分。 郑重声明:该资源仅供学习交流使用。
#资源达人分享计划#
应用(服务)系统服务平台和数据平台的建设(提供服务的动态配置),以实现一个切合本行业和本企业实际的、能够充分支持今天和未来业务发展的、对业务变化快速反应的、提供企业最佳投资回报的SOI的IT总体架构。
行业分类-设备装置-一种高校云计算公共信息服务平台核心架构和系统应用.zip
行业分类-设备装置-一种基于Purley平台融合多路处理器的服务器架构.zip
对用JAVA开发的项目来说,根据“成熟稳定、先进科学、实用可靠“的原则,可以使用这样一种架构,采用多个集群来保证系统的高性能、高可靠性、伸缩性、可维护性和安全的需要,服务器可以线性扩展,使用开源免费软件和...
一种基于多CPU架构的服务器操作系统自动化测试工具及方法与流程.docx
针对云计算、大数据等应用对异构资源管理和聚合的需求,提出了一种融合架构云服务器体系结构及其关键支撑技术。融合架构云服务器利用硬件资源池化技术,实现计算、存储、网络、供电、制冷和管理模块的解耦与融合重构...
摘要:为了保证合法用户与应用服务器双方的通信安全,如何实现会话双方高效安全的相互认证是多服务器架构网络系统急需解决的重要安全问题。针对 Guo 等人提出的三因子
整理的高性能高并发服务器架构文章,内容预览: 初创网站与开源软件 6 谈谈大型高负载网站服务器的优化心得! 8 Lighttpd+Squid+Apache搭建高效率Web服务器 9 浏览量比较大的网站应该从哪几个方面...
初识无服务器架构 无服务器架构是云计算的一种运行模型,其含义是由云服务商动态地管理计算资源的分布。我们宝贵的计算资源的消费者本质上讲是函数执行。如果你用基于函数运行所消耗的内存和执行时间(四舍五入到...
针对分布信息系统面临的安全威胁,综合P2P网络的无集中控制、漂移、共享等特性,虚拟化技术的共存、隔离、异构等特性提出一种新型多层可生存信息服务结构-CUIRASS,有效提高了部件失效和被入侵状态下持续服务的能力...