在分布式应用管理中,弹性伸缩是很重要的运维能力。弹性伸缩能够感知应用内各个实例的状态,并根据状态动态实现应用扩容、缩容。本介绍如何通过SAE定时弹性或者监控指标(CPU和内存)弹性功能,实现应用实例数自动增加和减少,在保证服务质量的同时,高效的利用应用资源、降低应用资源成本。

适用场景

  • 定时弹性伸缩:适用于资源画像存在周期性的应用场景,多用于证券 、医疗政府和教育等行业 。
  • 监控指标弹性伸缩:适用于突发流量和典型脉冲的应用场景,多用于互联网、游戏和社交平台等行业。

使用须知

  • 定时弹性最多可创建5条弹性策略,监控指标弹性最多可创建1条弹性策略。
  • 定时弹性与监控指标弹性暂不支持同时开启。
  • 弹性策略启用时,请勿手动进行应用生命周期管理操作,例如:应用扩缩、部署应用、更改规格、重启应用、停止应用。如果需要对应用进行该操作,那么请停用弹性策略后,再执行手动操作。
  • 如果当前应用处于扩容缩容、应用部署(单批分批/灰度)、更改规格、重启应用、停止应用等过程中,那么该应用暂时无法添加或者启动弹性策略。

定时弹性伸缩

  1. 进入弹性伸缩配置页面。
    1. 登录 SAE 控制台
    2. 在左侧导航树单击应用列表,在应用列表页面单击具体应用名称。
    3. 在应用详情页面选择实例部署信息 > 弹性伸缩,展开弹性伸缩折叠页签。
      配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第1张
  2. 配置定时弹性伸缩策略。
    1. 在展开的弹性伸缩折叠页签中,单击添加弹性策略
      配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第2张
      注意
      • 单条定时策略内设置的触发时间,不能小于系统当前时间,如果小于,该策略将在下个执行周期内生效。
      • 单条定时策略内的两个邻近时间间隔须大于5分钟。
      • 如果设置了多条定时策略,出现了两个触发点时间重复的,那么遵循以新盖旧原则,以最新添加的触发时间点策略为准。尤其同时设置了以月为周期和以星期为周期 ,会出现一定概率时间冲突,设置时请尽量避免。
      • 如果设置了多条定时策略,系统会检查重复日期内的多个触发时间点的间隔大于5分钟,那么设置时请尽量避免。
    2. 在弹出的对话框中填写策略名称中,并单击策略类型所在行的定时策略,设置策略相关配置信息。
      • 选择时间:根据需求选择短期或者长期执行所设弹性伸缩策略。
      • 周期:执行弹性伸缩策略的时间周期,每天每周每月
      • 触发时间:设置弹性伸缩策略触发时间,以及该时间段内需要保持的应用实例数。

        举例:如果所设周期为“每天”,第一条弹性伸缩规则触发开始时间为“1:00”,目标实例数为“3”个,第二条弹性伸缩规则开始时间为“18:00”,目标实例数为“10”个,则在凌晨1点至18:00段内,SAE 依据所设的规则,将该应用的业务实例数保持为3个;“18:00”至次日“1:00”应用实例数保持在“10”个。

    3. 在设置完定时自动弹性伸缩规则后,单击下一步:预览定时策略查看所设信息,并单击提交

监控指标弹性伸缩

监控指标弹性伸缩与定时弹性伸缩配置流程基本一样,仅配置规则不同,如下主要介绍监控指标弹性策略配置操作,其他操作请参见定时弹性伸缩

  1. 配置监控指标弹性策略。
    1. 在展开的弹性伸缩折叠页签中,单击添加弹性策略
      配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第3张
    2. 在弹出的对话框中填写策略名称中,并单击策略类型所在行的监控指标策略,设置策略相关配置信息。
    3. 配置弹性策略触发条件,并单击确认
      配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第4张
      • 触发条件:支持CPU使用率Mem使用率
      • 最大应用实例数:触发弹性伸缩条件后,应用扩容,其实例数可达到的目标值。
      • 最小应用实例数:触发弹性伸缩条件后,应用缩容,其实例数可达到的目标值。
      说明
      • 单选CPU使用率Mem使用率时,当前应用的CPU使用率或者Mem使用率大于或者等于所设的目标值,则对应用进行扩容,其应用实例数不超所设的最大应用实例数;反之,进行缩容,其应用实例数不低于所设的最小应用实例数
      • 全选CPU使用率Mem使用率时,如果任意一个指标的使用率大于或者等于所设目标,则应用进行扩容,其应用实例数不超所设的最大应用实例数;反之,进行缩容,其应用实例数不低于所设的最小应用实例数
  2. 结果验证。

    使用弹性伸缩前,应用实例数入下图所示。

    配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第5张

    弹性策略如下图所示。

    配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第6张

    启用该弹性策略后,SAE 自动监测 CPU 使用率,当满足触发条件时,SAE 依据弹性策略进行应用实例扩容、缩容。

    下图相对于上图,多了一个应用实例,表示弹性成功。SAE 依据弹性策略自动为应用扩容了一个应用实例。

    配置弹性伸缩_应用管理_Serverless 应用引擎 阿里云技术文档 第7张

更多信息

  • 完成定时弹性伸缩配置后,您可以在定时弹性伸缩列表中单击预览定时策略,查看应用该策略执行后每日、每周或者每月实例数的动态变化;可以在对弹性策略进行删除、停用、修改、启用和查看事件信息等操作。
  • 完成监控指标弹性伸缩配置后,您可以在监控指标弹性伸缩列表中对弹性策略进行删除、停用、修改、启用和查看操作记录等操作。