现在的位置: 首页 > 综合 > 正文

online游戏服务器架构–综述

2013年10月10日 ⁄ 综合 ⁄ 共 708字 ⁄ 字号 评论关闭

到了新公司,初涉了游戏编程,但是我关注的并不是游戏的处理逻辑,而是游戏服务器的架构,摩尔庄园游戏已经很流行了,它的网络处理逻辑并不是很特别,但是却值得我花一些时间去体会,这几篇文章就论述一下摩尔庄园online服务器的架构,当然这里并没有泄露公司机密的意思,因此代码都经过了我的处理,在可以不引用代码的情况下,我尽量不引用源代码。

摩尔庄园的大致架构分为客户端,登录服务器,switch服务器,online服务器,其中online服务器又连接了数据库代理服务器,具体见下图:

clip_image001

客户端输入账号和密码之后发往登录服务器,登录服务器验证用户信息是否正确,这是前端处理部分,如果信息正确,那么将进入后端处理,客户端将发送一个登录包到switch服务器,switch服务器维护着所有的online子进程的列表,所谓的online子进程就是逻辑处理进程,后面将会看到,客户端将显示从switch服务器得到的所有的online子进程的负载情况,然后用户选择一个online子进程作为自己将要登录的服务器,后面将会看到online子进程不处理任何网络连接,所有的网络连接由online父进程处理,一个父进程携带n个子进程,由配置文件决定,然后后期的处理在逻辑上就是客户端和选中的online子进程的了,online父进程作为路由将请求路由到online子进程。

Online总体分为几个部分:父进程网络处理;父进程共享内存组织;子进程业务逻辑处理。其中子进程的业务逻辑处理器又分为协议无关的处理和协议相关的处理,在协议相关的处理部分又可进一步划分为数据无关的业务处理和数据相关的业务处理以及事件的处理,这三个逻辑分别路由到三个子逻辑处理器

抱歉!评论已关闭.