配置弹性伸缩策略

Serverless 应用引擎 SAE(Serverless App Engine)的微服务应用中,为了应对突发的流量高峰,您可以添加弹性策略,以实现应用实例的自动扩缩容,您也可以在添加弹性策略的过程中,为应用开启闲置模式,可以帮助您节约资源,从而降低成本。本文主要介绍在微服务应用中如何配置弹性伸缩策略和如何开启闲置模式。

视频教程

您可以观看以下视频,了解什么是弹性伸缩以及如何在SAE控制台快速使用弹性伸缩策略。

功能介绍

实例扩缩容

SAE弹性伸缩支持以下方式:

  • 手动扩缩:当应用扩缩容为紧急需求时,例如突发性的流量高峰,您可以选择手动扩缩方式。具体操作,请参见手动扩缩

  • 自动扩缩:当应用扩缩容为非紧急需求时,例如周期性的流量高峰,您可以选择自动扩缩方式,即配置弹性伸缩策略。SAE弹性伸缩策略包括定时弹性策略、监控指标弹性策略和混合弹性策略。更多信息,请参见SAE弹性伸缩最佳实践

配置弹性伸缩策略的全流程如下图所示。dg_sae_auto_scaling_rule

闲置模式

开启闲置模式后,系统会判断实例是否处于闲置状态。若实例处于闲置状态,vCPU将会按照比活跃状态更低的价格进行计费。计费的具体信息,请参见各资源使用量的CU转换系数

当实例同时满足以下条件时,系统则判断实例处于闲置状态:

  • 应用配置并开启了指标弹性或混合弹性策略。

  • 实例使用的vCPU核数少于0.02 Core。

  • 实例每秒接收的网络流量小于20,000字节。

适用场景

SAE支持配置三种类型的弹性伸缩策略:

  • 定时策略:适用于资源使用率有周期性规律的应用场景,多用于证券、医疗、政府和教育等行业。

  • 监控指标策略:适用于突发流量和典型周期性流量的应用场景,多用于互联网、游戏和社交平台等行业。

  • 混合弹性策略:适用于同时处理兼具周期性资源需求波动与突发流量特点的应用场景,多用于互联网、教育和餐饮等行业。

注意事项

  • 最多支持创建5条定时策略、一条监控指标策略或一条混合弹性策略,三种策略不能同时使用。

  • 弹性策略启用时,请勿手动进行应用生命周期管理操作,例如应用扩缩、部署应用、更改规格、重启应用和停止应用。如果需要对应用进行此类操作,先停用弹性策略,然后再手动执行操作。

  • 如果当前应用处于扩容、缩容、部署(单批、分批或灰度)、更改规格、重启和停止等过程,需等待过程完成后,才可添加或启动弹性策略。

  • 单应用的实例数上限为50。如需提升额度,请加入钉群(钉群号:32874633),申请开通白名单。

前提条件

已部署应用。具体操作,请参见应用部署目录下的文档。

功能入口

  1. 登录SAE控制台,在左侧导航栏选择应用管理 > 应用列表,然后选择目标地域和目标命名空间,最后单击目标应用名称。

    IXAcRBAUok

  2. 在目标应用的基础信息页面,单击自动扩缩

  3. 可选:在目标应用的基础信息页面,单击弹性伸缩页签,然后在弹性伸缩区域单击添加弹性策略

配置弹性伸缩策略并开启闲置模式

重要

设置了监控指标策略或者混合弹性策略的应用支持开启闲置模式,定时弹性策略暂不支持开启闲置模式。

定时策略

  1. 在弹出的添加弹性策略面板,配置以下参数信息,然后单击下一步:预览定时策略

    参数

    说明

    示例

    策略类型

    选择定时策略

    定时策略

    策略名称

    自定义。

    demo

    选择时间

    时间可以选择长期或短期:

    • 短期:需要选择开始时间和结束时间。

    • 长期:选择长期,则此策略长期有效。

    长期

    周期

    周期可以选择每天、每周或每月。

    每天

    单天内的触发时间

    选择触发时间触发时间之后保持的实例数

    触发时间:弹性策略触发的时间。

    触发时间之后保持的实例数:弹性策略被触发后,扩缩容之后的实例数。

    触发时间:08:00和20:00

    触发时间之后保持实例数:10和3

    image

  2. 预览定时策略导向页,预览特定时间段的实例数,然后单击确认

监控指标策略

  1. 在弹出的添加弹性策略面板,配置以下参数信息。

    参数

    说明

    示例

    策略类型

    选择监控指标策略

    监控指标策略

    策略名称

    自定义。

    demo

    触发条件

    选择指标类型:

    • CPU使用率。

    • 内存使用率。

    • TCP活跃连接数。

    • TCP总连接数。

    • 应用QPS。

    • 应用响应时间(RT)。

    • 公网CLB QPS。

    • 公网CLB响应时间。

    • 私网CLB QPS。

    • 私网CLB响应时间。

    说明
    • 指标类型的聚合方式,请参见控制台说明。

    • 您可以同时设置多个指标类型。

    CPU使用率

    设置目标值。当目标指标类型等于设置的目标值,会触发弹性策略,实现应用实例的自动扩缩容。

    70%

    实例数设置

    设置应用最小实例数应用最大实例数最小存活实例数

    说明

    最小存活实例数为每次滚动更新时最小存活的实例数,可以按个数进行设置,也可以按比例进行设置。

    • 应用最小实例数:6

    • 应用最大实例数:50

    • 最小存活实例数:按个数进行设置,设置最小存活实例数为3

    image

  2. 编辑弹性策略面板,展开高级设置区域,开启闲置模式,然后单击确认

    image

    说明

    在高级设置区域,您可以设置弹性扩容步长弹性缩容步长扩容稳定窗口缩容稳定窗口的参数信息。具体参数的含义如下所示:

    • 弹性扩容步长:单位时间内最多扩容的实例数。

    • 弹性缩容步长:单位时间内最多缩容的实例数。

    • 扩容稳定窗口:稳定窗口期系统趋于维稳状态。通过自动扩缩算法来保证当需要执行扩容时,使用指定时间间隔内所计算的期望目标实例数中的最小值。

    • 缩容稳定窗口:稳定窗口期系统趋于维稳状态。通过自动扩缩算法来保证当需要执行缩容时,使用指定时间间隔内所计算的期望目标实例数中的最大值。

    • 禁止缩容:开启后将永远不会缩容该应用的实例,能有效防止在流量高峰期缩容造成业务风险。默认关闭。

混合弹性策略

说明

混合弹性策略是混合了定时策略监控指标策略

  1. 在添加弹性策略面板,设置以下参数信息。

    1. 弹性类型选择混合弹性策略,自定义策略名称

    2. 监控指标设置。请参见监控指标策略

      image

    3. 特殊事件段设置。请参见定时策略

      image

  2. 编辑弹性策略面板的监控指标设置区域,展开高级设置区域,开启闲置模式,然后单击下一步:预览定时策略

    image

    说明

    高级设置的其他参数说明,请参见监控指标策略的高级设置。

  3. 预览定时策略配置向导,预览特定时间段的实例数,然后单击确认

开启弹性策略

重要
  • 闲置模式开启的情况下,只有在弹性策略启用后闲置功能才会生效,弹性策略停用后闲置功能将立即失效。

  • 闲置模式关闭的情况下,无论弹性策略启用还是停用,闲置功能都不会生效。

  • 如果您添加了多条弹性策略,但同时只支持启用其中的一条弹性策略。

在目标应用的基础信息页面,单击弹性伸缩面板,然后单击目标弹性策略操作列的启用

验证弹性策略是否生效

方法一

进入目标应用的基础信息页面,单击弹性伸缩面板,查看实例数是否与弹性策略设置的实例数相同,如果相同,则表明弹性策略已生效。

pB8HRLMehK

方法二

  1. 为应用添加公网访问地址。

    1. 登录SAE控制台,进入目标微服务应用的基础信息页面,在应用访问设置区域单击添加公网CLB 访问

      image

    2. 在弹出的添加公网 CLB 访问面板,选择新建CLB(按规格计费),然后设置HTTP端口容器端口,最后单击确定

      image

    3. 公网访问地址添加成功后,复制公网访问地址。

      image

  2. 对应用进行压测。

    1. 登录性能测试服务 PTS 控制台,在概览页面输入公网IP(格式为:https://公网IP),然后单击压测

      image

    2. 在弹出的压测配置面板,输入每秒请求数(RPS),然后勾选确认本次压测已获得准许并遵守当地法律并单击启动压测

      image

  3. 返回SAE控制台,进入目标应用的基础信息页面,然后在实例列表页签查看应用实例数是否进行了自动扩容,如果进行了自动扩容,则表明弹性策略已生效。

    image

    说明

    当压测结束后,实例数会进行自动的缩容,此过程需要一定的时间,请您耐心等待。

更多操作

  1. 进入目标应用的基础信息页面,单击弹性伸缩页签。

  2. 弹性伸缩页签的弹性伸缩区域,在目标策略的操作列中,可对策略进行启用停止编辑删除和查看触发策略而产生的事件

    image