推荐解决方案架构
解决方案描述
- 1. 游戏服务端入口处采用负载均衡服务,随着游戏业务量增加,单服承载能力达到上限,随时扩展游戏服数量。负载平衡支持4层TCP/UDP,7层http/https负载均衡,阿里云云服务器(ECS)支持服务自身的纵向升配或弹性伸缩, 结合SLB可以实现基于ECS构建的应用层水平可自动伸缩架构,使得业务具备灵活多样的伸缩能力。
- 2. 游戏数据以及平台数据皆采用云数据库服务 RDS版,云数据库 RDS版的主备架构,避免游戏核心数据的单点风险,同时随着业务量的增长数据库可以随时热升级。云数据库 RDS版提供专业的数据库优化建议,包括直观的慢SQL诊断和完整的SQL运行报告,并提供如主键检查、索引检查等多种优化建议,保证客户游戏数据和核心平台系统(如充值,登陆系统)的平稳运行。
- 3. 单台云服务器(ECS)游戏服务器内部,平行部署两套运行容器A、B(JAVA开发平台为例,容器为Tomcat),游戏服务器内部署反向代理(如Nginx等),指向容器A。灰度发布代码到B(JAVA开发平台为war包),将反向代理指向B,灰度发布成功,卡牌游戏用户无断线,无感知。若新发布失败,则将反向代理指回容器A,回退成功,卡牌用户无感知。
- 4. 也可在阿里云高IO SSD云服务器(ECS)上自建MongoDB等数据库服务,利用ECS SSD磁盘高速稳定的随机读写能力、每秒过百兆吞吐量的存储性能,满足NoSQL数据库的IO需求。同时利用分布式三副本机制,提供稳固的数据可靠性。
- 5. 对已安装应用软件包的ECS云服务器,采用自定义镜像、数据盘快照批量创建新服务器,做到快速开服。