
# 方案概述
#### 应用场景
该解决方案基于华为云开源项目GameFlexMatch构建，可以帮助您在华为云上快速部署游戏服务端应用托管平台。GameFlexMatch支持游戏应用智能托管、服务端资源有状态弹性伸缩、灰度发布以及就近调度等能力，能够帮助您有效降低游戏运维以及云上资源成本。适用于MOBA、射击、竞速、棋牌类等游戏。
#### 方案架构
该解决方案部署架构如下图所示：
图1方案架构   
![](https://support.huaweicloud.com/ghpgfm-ctf/zh-cn_image_0000001666760506.png)
该解决方案会部署如下资源：
- 创建九个[弹性公网IP EIP](https://www.huaweicloud.com/product/eip.html)，用于提供访问公网和被公网访问的能力；
- 创建两台[华为云Flexus云服务器X实例](https://www.huaweicloud.com/product/flexus-x.html)，分别绑定弹性公网IP，跨可用区部署，用于部署FleetManager组件，负责应用进程的全局化动态部署及管理，支持配置动态部署策略，基于成本或时延优化应用分布，负责弹性伸缩策略的配置和服务端会话、客户端会话与应用包的管理，服务端应用的灰度发布等；
  
- 创建两台华为云Flexus云服务器X实例，分别绑定弹性公网IP，跨可用区部署，用于部署AppGateway组件，负责应用进程、会话与客户端连接的管理，通过与AuxProxy通信获得应用进程信息，决策进程资源的调度；
- 创建两台华为云Flexus云服务器X实例，分别绑定弹性公网IP，跨可用区部署，用于部署AASS组件，负责弹性伸缩组和弹性伸缩策略的管理与执行，以及服务端应用资源的监控，调用华为云AS（弹性伸缩服务）实现资源的弹性伸缩；
- 创建一台华为云Flexus云服务器X实例，并绑定弹性公网IP，用于部署Console运维平台，监控GameFlexMatch的运行状态，以及运维管理GameFlexMatch的fleet、应用包与用户信息等；
- 创建三个弹性负载均衡 ELB，其中关联AppGateway及FleetManager组件服务器的两个ELB分别绑定弹性公网IP，用于访问组件的流量跨可用区进行分发；
- 创建云数据库 RDS for MySQL实例，主备分区部署，具备跨可用区故障容灾的能力；
- 创建GeminiDB Influx 接口集群，3AZ架构部署，具备跨可用区故障容灾的能力；
- 创建分布式缓存服务Redis®\*版，兼容Redis，为用户提供高性能、低成本NoSQL数据库，同时数据流转过程中数据的一致性；
- 创建一个对象存储服务 OBS桶，用于存放应用包镜像环境配置脚本、AuxProxy组件压缩包。 此外，您可以自行创建[数据加密服务 DEW](https://www.huaweicloud.com/product/dew.html)的账号密钥对，用于弹性伸缩实例 ECS 的密匙验证登录。
  
#### 方案优势
- 弹性伸缩 专注于游戏应用实时和有状态的伸缩，峰值弹性扩容保证用户体验，谷值弹性缩容降低云上资源成本。
  

- 应用智能托管 智能实现服务端应用的自动拉起、健康巡检与异常容灾、客户端的自动接入，降低游戏运维成本。
  
- 一键部署 一键轻松部署，即可完成GameFlexMatch游戏服务托管平台所需的云服务资源下发及服务器和平台环境自动化部署。
  
 
#### 约束与限制
- 部署该解决方案之前，您需注册华为账号并开通华为云，完成实名认证，且账号不能处于欠费或冻结状态。如果计费模式选择"包年包月"，请确保账户余额充足以便一键部署资源的时候可以自动支付；或者在一键部署的过程进入[费用中心](https://account.huaweicloud.com/usercenter/?agencyId=&region=cn-north-4&locale=zh-cn#/userindex/allview)，找到"待支付订单"并手动完成支付。
- 请确保在部署解决方案前，使用的华为云账号有IAM的足够权限，具体请参考[三、创建rf_admin_trust委托](https://support.huaweicloud.com/ghpgfm-ctf/ghpgfm_04.html#ghpgfm_04__section72696181891)
 
