gate服务的设计原则
gate服务按固定时间间隔上报状态到center服务器 gate服务按固定时间间隔获取所有类型服务器列表(列表不能过超过1M大小,超过了redis会有卡顿现象) gate服务器在玩家登陆请求时转发请求到登陆服务器 登录成功后,gate服务器在收到客户端连接游戏服务器请求时,在指定的游戏服务器建立连接,打通客户端和游戏服务器 gate服务器在玩家游戏时,将请求转发到固定的游戏服务器,带上一个玩家序号,这个序号可以是固定的玩家ID,没有玩家ID可以是一个伪ID,类似于socket fd这样的东西。(伪ID在被攻击时会产生严重的问题,就是ID耗尽溢出,回绕的时候怎么和正常ID不冲突,这个问题现在是没处理的) 游戏服务器回包以后,gate服务器通过包内的玩家序号找到对应的玩家(注意不是请求序号,如果是请求序号一个玩家可能对应多个请求)
为了解耦模块间的关联,gate服务器对消息的处理应该统一化,尽量不要有特殊处理。或者说是做成插件化,特殊的业务都在插件中完成