现在也做了几款社交类型的小游戏了, 每一款游戏代码结构都不一样, 开发时间长, 维护起来也不易, 难得有了空窗期, 琢磨着设计一个统一的解决方案, 期待为以后的小游戏快速开发部署打下一个良好的基础. 想来以前都是手绘, 这次也用制图工具画了一个完整的结构图.
整体上分成三层, 网关层, 大厅管理层, 游戏逻辑层.
网关层就是用来转发用户的消息给大厅或者游戏逻辑层.
大厅层用于处理所有非游戏逻辑的消息, 采用微服务的形式. 现在划分的比较糙, 功能也比较弱, 良好的拆分扩充的话, 它就承担起了一个游戏平台的作用, 用于各种各样的游戏的接入.
游戏逻辑层就是各种游戏的具体实现了, 即便是小游戏, 也有实时性的要求, 所以它和gate使用长连接的形式保持连接, 用于接收处理各种游戏信息.
在这种结构下, 每一层都可以横向扩充, 然后小游戏也可以实时接入, 开发时, 只需要关注具体游戏的逻辑实现即可, 应该可以加快游戏的开发速度.