RPG游戏经典的系统架构设计 :
bigword 游戏引擎就是使用这种架构,我认识的很多rpg游戏公司的同事也大致采用了这种架构方式。
loginapp : 登陆服务器,主要负责player 的登陆请求,验证player的合法性,为合法的player分配session,与cilent 采用短连接方式,可以有多个loginapp来负载均衡。验证player通过后,loginapp通过baseappmgr找到一个合适的baseapp发送给client。
baseapp: 我们可以叫做网关服务器,有多个来做负载均衡,与client 使用长连接方式,为player分配适合的cellapp,client发送的消息都通过baseapp转发给cellapp,cellapp返回给client的消息也都经过baseapp,充当游戏消息转发的中转站。 baseapp同时负责聊天模块。
cellapp : 可以叫游戏服务器或地图服务器,多个,负责具体游戏逻辑实现,与player进行游戏交互。
baseappmgr:管理网关服务器,只需要1个,或可以做主从备份方式。负责为player分配baseapp,并记录player所在的baseapp,cellapp踢客时先通知baseappmgr,然后baseappmgr找到对应的baseapp进行踢客。
cellappmgr: 管理游戏服务器