在Serverless 应用引擎 SAE(Serverless App Engine)的微服务应用中,为了应对突发的流量高峰,您可以添加弹性策略,以实现应用实例的自动扩缩容,您也可以在添加弹性策略的过程中,为应用开启闲置模式,可以帮助您节约资源,从而降低成本。本文主要介绍在微服务应用中如何配置弹性伸缩策略和如何开启闲置模式。
视频教程
您可以观看以下视频,了解什么是弹性伸缩以及如何在SAE控制台快速使用弹性伸缩策略。
功能介绍
实例扩缩容
SAE弹性伸缩支持以下方式:
手动扩缩:当应用扩缩容为紧急需求时,例如突发性的流量高峰,您可以选择手动扩缩方式。具体操作,请参见手动扩缩。
自动扩缩:当应用扩缩容为非紧急需求时,例如周期性的流量高峰,您可以选择自动扩缩方式,即配置弹性伸缩策略。SAE弹性伸缩策略包括定时弹性策略、监控指标弹性策略和混合弹性策略。更多信息,请参见SAE弹性伸缩最佳实践。
配置弹性伸缩策略的全流程如下图所示。
闲置模式
开启闲置模式后,系统会判断实例是否处于闲置状态。若实例处于闲置状态,vCPU将会按照比活跃状态更低的价格进行计费。计费的具体信息,请参见各资源使用量的CU转换系数。
当实例同时满足以下条件时,系统则判断实例处于闲置状态:
应用配置并开启了指标弹性或混合弹性策略。
实例使用的vCPU核数少于0.02 Core。
实例每秒接收的网络流量小于20,000字节。
适用场景
SAE支持配置三种类型的弹性伸缩策略:
定时策略:适用于资源使用率有周期性规律的应用场景,多用于证券、医疗、政府和教育等行业。
监控指标策略:适用于突发流量和典型周期性流量的应用场景,多用于互联网、游戏和社交平台等行业。
混合弹性策略:适用于同时处理兼具周期性资源需求波动与突发流量特点的应用场景,多用于互联网、教育和餐饮等行业。
注意事项
最多支持创建5条定时策略、一条监控指标策略或一条混合弹性策略,三种策略不能同时使用。
弹性策略启用时,请勿手动进行应用生命周期管理操作,例如应用扩缩、部署应用、更改规格、重启应用和停止应用。如果需要对应用进行此类操作,先停用弹性策略,然后再手动执行操作。
如果当前应用处于扩容、缩容、部署(单批、分批或灰度)、更改规格、重启和停止等过程,需等待过程完成后,才可添加或启动弹性策略。
单应用的实例数上限为50。如需提升额度,请加入钉群(钉群号:32874633),申请开通白名单。
前提条件
已部署应用。具体操作,请参见应用部署目录下的文档。
功能入口
登录SAE控制台,在左侧导航栏选择 ,然后选择目标地域和目标命名空间,最后单击目标应用名称。
在目标应用的基础信息页面,单击自动扩缩。
可选:在目标应用的基础信息页面,单击弹性伸缩页签,然后在弹性伸缩区域单击添加弹性策略。
配置弹性伸缩策略并开启闲置模式
设置了监控指标策略或者混合弹性策略的应用支持开启闲置模式,定时弹性策略暂不支持开启闲置模式。
定时策略
在弹出的添加弹性策略面板,配置以下参数信息,然后单击下一步:预览定时策略。
参数
说明
示例
策略类型
选择定时策略。
定时策略
策略名称
自定义。
demo
选择时间
时间可以选择长期或短期:
短期:需要选择开始时间和结束时间。
长期:选择长期,则此策略长期有效。
长期
周期
周期可以选择每天、每周或每月。
每天
单天内的触发时间
选择触发时间和触发时间之后保持的实例数。
触发时间:弹性策略触发的时间。
触发时间之后保持的实例数:弹性策略被触发后,扩缩容之后的实例数。
触发时间:08:00和20:00
触发时间之后保持实例数:10和3
在预览定时策略导向页,预览特定时间段的实例数,然后单击确认。
监控指标策略
在弹出的添加弹性策略面板,配置以下参数信息。
参数
说明
示例
策略类型
选择监控指标策略。
监控指标策略
策略名称
自定义。
demo
触发条件
选择指标类型:
CPU使用率。
内存使用率。
TCP活跃连接数。
TCP总连接数。
应用QPS。
应用响应时间(RT)。
公网CLB QPS。
公网CLB响应时间。
私网CLB QPS。
私网CLB响应时间。
说明指标类型的聚合方式,请参见控制台说明。
您可以同时设置多个指标类型。
CPU使用率
设置目标值。当目标指标类型等于设置的目标值,会触发弹性策略,实现应用实例的自动扩缩容。
70%
实例数设置
设置应用最小实例数、应用最大实例数和最小存活实例数。
说明最小存活实例数为每次滚动更新时最小存活的实例数,可以按个数进行设置,也可以按比例进行设置。
应用最小实例数:6
应用最大实例数:50
最小存活实例数:按个数进行设置,设置最小存活实例数为3
在编辑弹性策略面板,展开高级设置区域,开启闲置模式,然后单击确认。
说明在高级设置区域,您可以设置弹性扩容步长、弹性缩容步长、扩容稳定窗口和缩容稳定窗口的参数信息。具体参数的含义如下所示:
弹性扩容步长:单位时间内最多扩容的实例数。
弹性缩容步长:单位时间内最多缩容的实例数。
扩容稳定窗口:稳定窗口期系统趋于维稳状态。通过自动扩缩算法来保证当需要执行扩容时,使用指定时间间隔内所计算的期望目标实例数中的最小值。
缩容稳定窗口:稳定窗口期系统趋于维稳状态。通过自动扩缩算法来保证当需要执行缩容时,使用指定时间间隔内所计算的期望目标实例数中的最大值。
禁止缩容:开启后将永远不会缩容该应用的实例,能有效防止在流量高峰期缩容造成业务风险。默认关闭。
混合弹性策略
混合弹性策略是混合了定时策略和监控指标策略。
开启弹性策略
闲置模式开启的情况下,只有在弹性策略启用后闲置功能才会生效,弹性策略停用后闲置功能将立即失效。
闲置模式关闭的情况下,无论弹性策略启用还是停用,闲置功能都不会生效。
如果您添加了多条弹性策略,但同时只支持启用其中的一条弹性策略。
在目标应用的基础信息页面,单击弹性伸缩面板,然后单击目标弹性策略操作列的启用。
验证弹性策略是否生效
方法一
进入目标应用的基础信息页面,单击弹性伸缩面板,查看实例数是否与弹性策略设置的实例数相同,如果相同,则表明弹性策略已生效。
方法二
为应用添加公网访问地址。
登录SAE控制台,进入目标微服务应用的基础信息页面,在应用访问设置区域单击添加公网CLB 访问。
在弹出的添加公网 CLB 访问面板,选择新建CLB(按规格计费),然后设置HTTP端口和容器端口,最后单击确定。
公网访问地址添加成功后,复制公网访问地址。
对应用进行压测。
登录性能测试服务 PTS 控制台,在概览页面输入公网IP(格式为:
https://公网IP
),然后单击压测。在弹出的压测配置面板,输入每秒请求数(RPS),然后勾选确认本次压测已获得准许并遵守当地法律并单击启动压测。
返回SAE控制台,进入目标应用的基础信息页面,然后在实例列表页签查看应用实例数是否进行了自动扩容,如果进行了自动扩容,则表明弹性策略已生效。
说明当压测结束后,实例数会进行自动的缩容,此过程需要一定的时间,请您耐心等待。
更多操作
进入目标应用的基础信息页面,单击弹性伸缩页签。
在弹性伸缩页签的弹性伸缩区域,在目标策略的操作列中,可对策略进行启用、停止、编辑、删除和查看触发策略而产生的事件。