## How agent 直连逻辑服务器, 所以 agent 自带路由功能. 同时要求每个 agent 都同时连接所有 logic server, 连接复杂度比较高. 但比起增加一个 router server 或 manager server 的架构要简单,逻辑层面要考虑的问题较少,也避免了单点故障给整个系统可用性造成的风险 在新的问题出现之前,采取最简单的做法. ## Route Of Agent 1. agent 必须理解一些协议以完成 router 功能. - login. 完成 user 登录, 断线重连等 - logout. - 断线. 需转发至 user 当前所在的 logic server - enterRoom/enterTable 转发至对应的 logic server - leaveRoom/leaveTable 转发至对应的 logic server - 其他相关协议 2. 原则如下: - 大厅服务器负责通用逻辑, 如签到,商城,绑定手机等等 - 大厅协议号在一定范围内, 落在其范围的包都转发至大厅服务器, 这样能支持游戏内充值等操作 - 其他协议需先定位 user 当前所在的 logic server, 然后转发至相应服务器 - 考虑断线重连的问题 ## 协议 - 前端使用 websocket - 内部使用 tcp - 包封装使用 protobuf3 ## Logic Id see LogicId.md ## 配置管理 see ConfManagement.md ## gossip 协议的心跳与断线重连