最佳实践¶
Note
- 以下是我们目前在生产环境中使用 Arena 的建议, 未来的更新版本将简化此过程, 并允许在单个部署中进行合适的滚动更新.
在生产环境中使用 Arena 部署¶
以下是我们为 Arena Cloud 应用高性能服务器部署推荐的两种设计模式.
A / B 服务器部署¶
在此部署模式中, 需要创建两个应用部署. 我们将它们命名为 MOBA A 和 MOBA B. 在给定的服务器流量时间内, 仅有一个部署处于连接状态. 在此例中, 假设 MOBA A 是当前应用的部署. 这种模式要求您作为开发人员, 能够动态地更新游戏客户端上指向的服务器地址.
-
Maintenance Window Update (维护窗口更新): 开始服务器上没有代码, 因为您正处于游戏的预定维护时段. 在这种情况下, 您将更新 MOBA A 上的游戏服务代码, 并重新启动部署, 使更改生效. 由于没有连接玩家, 因此不会中断游戏会话.
-
Critical Patch / Hot Fix Update (重要补丁 / 热修补更新): 发现一个可能影响游戏平衡或导致某些客户端不稳定的严重错误. 在这种情况下, 您希望更新游戏代码, 又不想终止正在进行的游戏会话. 为此, 首先需要上传并部署代码更新到 MOBA B. 确认更新已部署后, 更新入口服务器把客户端连接指向 MOBA B 的 URL. 新开的游戏会使用更新的代码和路由地址, 进行中的游戏会话依然在 MOBA A 部署上正常完成.
Note
- 如果您选择使用这种方法, 将优化计费以保证您只为活动部署付费. 此 A / B 模式中效率最低的一个部署不会被收取费用.
动态服务器部署 (仅适用于 To Mars (TM) 及更高版本)¶
此部署模式可用于单个应用部署, 但是有一些限制. 此系统还需要我们的支持团队设置自定义参数, 以确保其按预期工作, 请联系 support@lucidsight.com 以了解更多信息, 并部署此服务. 在以下示例中, 我们将此部署称为 MOBA SINGLE.
-
Maintenance Window Update (维护窗口更新): 开始服务器上没有代码, 因为您正处于游戏的预定维护时段. 在这种情况下, 您将在 MOBA SINGLE 上更新您的游戏服务器代码, 并重新启动部署以使更改生效. 由于没有连接玩家, 因此不会中断游戏会话.
-
Critical Patch / Hot Fix Update (重要补丁 / 热修补更新): 发现一个可能影响游戏平衡或导致某些客户端不稳定的严重错误. 在这种情况下, 您希望更新新游戏代码, 又不想终止正在进行的游戏会话. 为此, 您需要将代码上传到 MOBA SINGLE 应用. 在部署代码时, 您 不能 选择 重新加载, 直接选择 "部署" 即可. 部署过程完成后, X 个新服务器将被添加到您现有的服务器池中, 并由 Arena 负载均衡器优先处理新流量. 新流量将自动被输入最新的服务器, 旧服务器在 10 分钟不活动后会自动缩小规模. X 可以是预定义的数量, 也可以等于正在运行的服务器数量.