草拟
QQ游戏的服务器架构百万级别
在技术上,QQ游戏到底是如何实现百万人同时在线并保持游戏高效率的呢?
简单地说,实现百万人同时在线的服务器模型应该是:登陆服务器+大厅服务器+房间服务器。当然,也可以是其它的模型,但其基本的思想是一样的。下面,我将逐一介绍这三类服务器的各自作用。 登陆服务器:一般情况下,我们会向玩家开放若干个公开的登陆服务器,就如QQ登陆时让你选择的从哪个QQ游戏服务器登陆一样,QQ登陆时让玩家选择的六个服务器入口实际上就是登陆服务器。登陆服务器主要完成负载平衡的作用。详细点说就是,在登陆服务器的背后,有N个大厅服务器,登陆服务器只是用于为当前的客户端连接选择其下一步应该连接到哪个大厅服务器,当登陆服务器为当前的客户端连接选择了一个合适的大厅服务器后,客户端开始根据登陆服务器提供的信息连接到相应的大厅上去,同时客户端断开与登陆服务器的连接,为其他玩家客户端连接登陆服务器腾出套接字资源。
在设计登陆服务器时,至少应该有以下功能:N个大厅服务器的每一个大厅服务器都要与所有的登陆服务器保持连接,并实时地把本大厅服务器当前的同时在线人数通知给各个登陆服务器,这其中包括:用户进入时的同时在线人数增加信息以及用户退出时的同时在线人数减少信息。这里的各个大厅服务器同时在线人数信息就是登陆服务器为客户端选择某个大厅让其登陆的依据。比如,玩家A通过登陆服务器1连接到登陆服务器,登陆服务器开始为当前玩家在众多的大厅服务器中根据哪一个大厅服务器人数比较少来选择一个大厅,同时把这个大厅的连接IP和端口发给客户端,客户端收到这个IP和端口信息后,根据这个信息连接到此大厅,同时,客户端断开与登陆服务器之间的连接,这便是用户登陆过程中,在登陆服务器这一块的处理流程。
大厅服务器:大厅服务器,是普通玩家看不到的服务器,它的连接IP和端口信息是登陆服务器通知给客户端的。也就是说,在QQ游戏的本地文件中,具体的大厅服务器连接IP和端口信息是没有保存的。大厅服务器的主要作用是向玩家发送游戏房间列表信息,这些信息包括:每个游戏房间的类型,名称,在线人数,连接地址以及其它如游戏帮助文件URL的信息。从界面上看的话,大厅服务器就是我们输入用户名和密码并校验通过后进入的游戏房间列表界面。大厅服务器,主要有以下功能:一是向当前玩家广播各个游戏房间在线人数信息;二是提供游戏的版本以及下载地址信息;三是提供各个游戏房间服务器的连接IP和端口信息;四是提供游戏帮助的URL信息;五是提供其它游戏辅助功能。但在这众多的功能中,有一点是最为核心的,即:为玩家提供进入具体的游戏房间的通道,让玩家顺利进入其欲进入的游戏房间。玩家根据各个游戏房间在线人数,判定自己进入哪一个房间,然后双击服务器列表中的某个游戏房间后玩家开始进入游戏房间服务器。
游戏房间服务器:游戏房间服务器,具体地说就是如“斗地主1”,“斗地主2”这样的游戏房间。游戏房间服务器才是具体的负责执行游戏相关逻辑的服务器。这样的游戏逻辑分为两大类:一类是通用的游戏房间逻辑,如:进入房间,离开房间,进入桌子,离开桌子以及在房间内说话等;第二类是游戏桌子逻辑,这个就是各种不同类型游戏的主要区别之处了,比如斗地主中的叫地主或不叫地主的逻辑等,当然,游戏桌子逻辑里也包括有通用的各个游戏里都存在的游戏逻辑,比如在桌子内说话等。总之,游戏房间服务器才是真正负责执行游戏具体逻辑的服务器。
除正常的玩家连接外,还要考虑到:
对于登陆服务器,会有250台大厅服务器连接到每个登陆服务器上,这是始终都要保持的连接; 而对于大厅服务器而言,如果仅仅有斗地主这一类的服务器,就要有350多个连接与各个大厅服务器始终保持着。所以从这一点看,我的结构在某些方面还存在着需要改进的地方,但核心思想是:尽快地提供用户登陆的速度,尽可能方便地让玩家进入游戏中。
类似于QQ游戏百万人同时在线的服务器架构实现_IT/计算机_专业资料。类似于QQ游戏百万人同时在线的服务器架构实现QQ 游戏于前几日终于突破了百万人同时在线的关口,...
腾讯QQgame分布式架构_IT/计算机_专业资料。分布式架构腾讯QQGame 游戏同时在线的玩家数量极其庞大, 为了方便组织玩家组队游戏, 腾讯设置了大量游戏室(房间),玩家...
[zz]游戏服务器架构探讨(上) 2008-10-31 1116这里讨论的游戏服务器架构大概是目前国内乃至世界上的网游通用的一种架构了: httpbbs.gameres.comshowthread.asp...
场景 服务器设计的好坏是整个 游戏世界服务器性能差异的主要体现, 它的设计难度不仅仅在于通信模型方面, 更主要的是 整个服务器的体系架构和同步机制的设计。 非...
存储海量用户的数据库 业务系统的三层框架负责网络接入 负责游戏逻辑 负责数据转发 负责数据存储 目录树系统 负载均衡 ! ? 用户的最终目标,是Login游戏服务器进行...
星辰小屋 www.sjdwm.cn 游戏服务器架构实验时间:2009-03实验时间:2009-03-18 实验名称:游戏服务器架构之 奇迹》 实验名称:游戏服务器架构之《奇迹》自己当 实验...
QQ服务器后台实现 3页 1下载券 网页游戏架构与开发-经验... 25页 免费 ...Q 的架构问题 ---sodme 大宝 hi, all: 我把第一个问题选为:QQ 的架构。...
这个架构不是一个新的架构,但是它足够经典和完善,并且逻 辑简单而清晰,用来做 MMORPG,或者其它网络游戏的服务器架构,是一种不错的选择。 ...
游戏服务器架构简述2011_IT/计算机_专业资料。介绍了目前网站游戏服务器建设与平台架构的描述网络游戏服务器架构简述基本的网络游戏服务器模型应该是:登陆服务器+大厅...
道具和Avatar赠送 核心业务模块业务系统的三层框架模型 负载均衡的dir 统一的中心配置管理策略 大容量的接入服务器 无缝插接游戏的MainSvr 带路由功能的数据交换机 ...
热门文档