如果您的应用有多个应用实例且需要升级,那么您可以按需通过灰度或分批发布方式升级应用实例版本。本文介绍两种发布方式的背景信息、场景示例和操作步骤;此外,还涉及应用回滚的说明。

背景信息

  • 灰度发布:又名金丝雀发布,在原有部署版本可用的情况下,同时部署新版本应用作为金丝雀,测试新版本的性能,在保证整体系统稳定的情况下,帮助您尽早发现问题和修复问题。

    应用进行灰度发布时,为了保证应用稳定性,灰度发布的应用实例数不能超过应用实例总数的50%,剩余的应用实例按照指定的批次分批发布。

  • 分批发布:按批次进行应用部署,每次仅对应用的一部分实例进行升级。分批发布过程中如果出现故障,则可以及时终止并回退,待问题修复后重新发布。

    应用进行分批发布时,应用内的实例数会平均分配到每个批次进行部署。如果无法平均分配,则靠前的批次分配到的实例数少,靠后的批次分配到的实例数多。

场景示例

某应用包含10个应用实例,每个应用实例的部署版本为Ver.1版本,现需将每个应用实例升级为Ver.2版本。
  • 灰度发布:假设选择2台应用实例进行灰度发布,剩下8台应用实例分3批进行分批发布,发布流程如下图所示。灰度发布
  • 分批发布:假设将所有应用实例分3批进行部署,该发布流程如下图所示。分批发布流程

操作步骤

  1. 登录SAE控制台
  2. 在左侧导航栏单击应用列表,在应用列表页面上方选择地域,单击具体应用名称。
  3. 应用详情页面右上角单击部署应用
  4. 配置部署参数。
    说明 部署方式由应用首次部署方式决定,请根据所需的部署方式设置参数。
    • WAR包部署:重新上传WAR包或者输入新部署WAR包的地址,并完成相关环境和参数设置。应用部署_配置war包
    • JAR包部署:重新上传JAR包或者输入新部署JAR包的地址,并完成相关环境和参数设置。配置JAR包
    • 镜像:在部署应用区域单击修改镜像,在修改镜像面板重新选择镜像仓库或镜像版本。修改应用镜像
  5. 您可以根据需要在发布策略设置区域内配置灰度发布或分批发布。
    • 灰度发布灰度发策略

      灰度发布参数说明如下。

      配置 是否必选 说明
      发布策略 选择灰度发布
      灰度数量 设置首先需要进行灰度发布的应用实例数量。
      灰度后剩余批次 灰度发布后,剩余的应用实例按照设定的批次完成发布。
      最小存活实例数 每次滚动升级最小存活的实例数。选择使用系统推荐值后SAE将根据您的需求为应用设置最佳的最小存活实例数。
      启用微服务灰度规则 您为Spring Cloud或Dubbo应用创建的灰度规则。具体操作,请参见管理灰度规则(Java)
    • 分批发布分批发布策略设置

      分批发布参数说明如下。

      配置 是否必选 说明
      发布策略 选择分批发布
      发布批次 设置应用实例发布的批次。
      批次内部署间隔 每一批内,如果应用实例数大于1,应用实例间的部署时间间隔。
      最小存活实例数 每次滚动升级最小存活的实例数。选择使用系统推荐值后SAE将根据您的需求为应用设置最佳的最小存活实例数。
  6. 可选:高级配置。
    高级设置 是否必选 参考文档
    设置PHP应用监控 设置PHP应用监控
    说明技术栈语言PHP时可以设置。
    设置PHP应用配置文件 设置PHP应用配置文件
    说明技术栈语言PHP时可以设置。
    启动命令 设置启动命令
    环境变量 设置环境变量
    Hosts绑定 设置Hosts绑定
    应用健康检查 设置健康检查
    应用生命周期管理 设置应用生命周期管理
    日志收集 设置日志收集
    持久化存储 设置NAS存储
    配置管理 注入配置信息
  7. 单击确认完成发布设置。
  8. 您可以选择以下任一方式验证发布结果。
    • 方法一:在应用的变更记录页面中查看应用变更详情,查看发布状态,如果所有批次都执行成功,则说明应用更新成功。
    • 方法二:在应用基本信息页面的实例部署信息页签查看实例的运行状态。如果执行状态显示为Running,且实例的版本已变为Ver.2,表示应用部署成功。

应用回滚

采用灰度发布或者分批发布方式升级应用实例时,如果应用实例中存在未完成升级的实例,则当前应用升级状态处于进行中

在实时跟踪应用升级时,如果首批应用实例升级突发异常停止响应,为了保证业务不受影响,请在变更详情页面中单击立即回滚,将已升级的实例回退至升级前版本,并将配置还原为升级前原有配置。

在应用变更过程中,如果出现部署包不可用、健康检查失败等变更流程异常情况,将导致应用升级失败,SAE将停止当前应用并进行回退。

在SAE上进行应用升级耗时约为30分钟,超出该时间后SAE将上报超时异常并暂停变更流程,请在变更详情页面手动终止发布流程并回滚应用。

更多信息

问题反馈

如果您在使用SAE过程中有任何疑问,欢迎您扫描下面的二维码或搜索钉钉群号23198618,加入钉钉群与我们交流。 SAE钉钉群2