游戏服务器——中心服

一、中心服介绍

中心服用于应用统一调度中心和数据脚本发放中心。

一 服务器信息调度:DB Server第一个启动,随后中心服启动,中心服启动前会和DB Server进行连接,之后其他服务器(网关服、登陆服、广场服、游戏服、Web Server)启动前都会和中心进行连接,当中心服收到别的服务器连接时,会将新连接的服务器信息广播给所以已经连接的服务器。网关服务器就是通过中心服广播的(网关服、登陆服、广场服、游戏服、Web Server)信息在必要的时候和他们进行连接。

二 数据脚本发放:网站后台配置修改同步之后,网站会通知Web Server,Web Server 会将需要同步数据id发给中心服,中心服去DB中重新读取配置,并给配置发送给广场服/游戏服。

 

二、服务器启动流程

1、启动准备

  1. 初始化网络库
  2. 监听事件注册

2、开始启动

  1. 创建日志、定时器
  2. 创建网络监听服务并启动监听
  3. 挂接逻辑事件(用户线程读取网络数据 )
  4. 创建DB服代理服务(连DB服并进行消息交互)
  5. 加载插件
  6. 创建守护中心(与守护中心服连接,用于服务器拉起)

3、启动流程图

游戏服务器——中心服

 

4、补充说明

1、2.5中【加载插件】中心服目前只有一个配置读取插件,由于读取游戏相关的各种配置,并将其发送给广场服/游戏服

 

三、中心服与其他服务器之间消息交互

  1. 中心服成功启动
  2. 其他服务器(网关服、登陆服、广场服、游戏服、Web Server)启动时会主动连中心服,连接成功之后,会将自己的服务器信息发生给网关服。
  3. 网关服收到新连接服务器信息之后会将该信息广播给所以连接的客户端(其他服务器)当后台配置同步时,后台网站会将更新的配置id,通过Web Server转发给中心服,中心服去DB取对应配置,并转发给需要服务器。
  4. 当有服务器启动并向中心服发送登录信息时,中心服会将该服务器需要的配置信息发生给该服务器。

游戏服务器——中心服

四、类图

游戏服务器——中心服