推荐解决方案架构
解决方案描述
- 1. 全局服务主备容灾。
- 从服务影响范围来分的话,游戏服务器中的服务大体分为区服类服务(如聊天服)和全局类服务(如网关服),而全局类服务一旦出现故障就会影响到游戏的全部玩家,所以需要保证全局性服务的高可用,而在云服务器ECS上搭建主备双活节点的方式则可以保证这一点。
- 2. 分层的架构。
- 采用经典的三层架构(分别是接入层、逻辑层和数据层),其中接入层主要负责游戏账号登录认证、通信包加解密、客户端连接管理等功能;逻辑层实现游戏主要业务逻辑,比如区游戏服、聊天、排行榜等;数据层解决数据持久化存储和共享缓存的问题。采用云数据库RDS可以解决数据库主备容灾、读写分离以及分布式数据库等需求,逻辑层中核心的场景服务器可以基于场景灵活地进行扩展,提升单区最高同时在线玩家数。
- 3. 跨地域弹性部署。
- 客户可将不同的游戏服部署到阿里云不同地域的数据中心,结合阿里云弹性伸缩服务ESS方便搭建自动开服系统,这样也可以做到用户就近接入以提高网络访问质量。
- 4. 专用数据缓存。
- 由于MMO类游戏单区有较高的玩家同时在线,为了快速读写玩家的游戏数据,采用阿里云开放缓存服务OCS和阿里云键值存储KVStore构建缓存层,来提高数据读写的速度,这样也可以减小后端数据库的读写压力,缓存中的数据可以采取定期分批的策略进行持久化。
- 5. 游戏更新包下载。
- 基于阿里云的CDN和开放存储服务OSS搭建而成的游戏更新包下载系统,可以高效方便完成MMO类型游戏频繁的游戏客户端更新包的分发工作。