Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5762242
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: C/C++

2011-05-05 15:31:45

转载注:最近在思考一些架构的本质的东西,偶然看到这篇MMO的集群方案,感慨互联网后端服务架构是如此之相像。


1.     LoginApp

即登录服务器, 它主要完成玩家帐号的验证, 同时它通过BaseAppMgr并向玩家发送一个SessionKey作为基础服务器(BaseApp)的登录密钥;同时LoginServer还向玩家发送服务器列表信息。

2. BaseApp

即基础服务器, 也称连接服务器,它还维持着一个客户端连接列表(用户列表), 这样它可以实现区域消息广播及通过BaseAppMgr实现世界聊天, 玩家信息查看等功能;它还负责消息的分发到CellApp进行处理,并把结果返回到客户端。

3. CellApp

即游戏服务器,它负责世界数据的加载,游戏逻辑的处理及世界对象的管理。在本架构中当为支线服务器。

4. DBMgr

用户服务器,它负责用户相关数据的存取。一般是用户登录选择角色后就获得角色所有相关数据给到MapServer, 并由MapServer定时保存角色的相关数据。

5. BaseAppMgr

基础服务器管理器,主要负责分配基础服务器给到客户端连接,同时它采用某种策略可以实现用户的均衡负载等。

6. CellAppMgr

支线服务器管理器, 它主要根据支线ID为基础代理对象分配支线服务器实体, 这样就可以实现与客户端的通信了。

7. DB

数据库服务器主要分为三个库来存取,AccountDB为玩家账户信息,CharacterDB为玩家角色相关信息,WorldDB为所胡的世界数据。

阅读(2612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~