更新时间:2024-08-07 GMT+08:00

预留实例管理

概述

函数工作流提供了按量和预留两种类型的实例。

  • 按量实例是由函数工作流根据用户使用函数的实际情况来创建和释放,当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。
  • 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先将请求转发给您的预留实例,当请求的峰值超过预留实例处理能力时,剩余部分的请求将会转发给按量实例,由函数工作流自动为您分配执行环境。

    预留实例在创建完成后,会自动加载该函数的代码、依赖包以及执行初始化入口函数,且预留实例会常驻环境,消除冷启动对业务的影响。(注意:不要依赖预留实例本身的初始化函数去执行一次性业务。)

    预留实例当前支持配置固定数量的预留实例,也支持配置定时伸缩的预留实例

配置固定数量的预留实例

直接创建固定个数的预留实例前,确保FunctionGraph控制台已存在需要创建预留实例的目标函数。

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入配置详情页。
  3. 选择“设置 > 并发”,单击“添加”,开始配置。
    图1 单击“添加”
  4. 参见表1,填写参数。
    您可以给函数对应的版本或者别名创建指定数量的预留实例,其中预留实例的数量不能超过并发实例数配额和单函数最大实例数。
    图2 基础配置
    表1 基础配置说明

    参数

    说明

    函数名称

    展示当前配置预留实例的函数的名称。

    类型

    根据实际业务情况,选择“版本”或“别名”。

    选择版本

    仅当类型选择“版本”时,需设置此参数。

    选择别名

    仅当类型选择“别名”时,需设置此参数。

    最小实例数

    设置最小实例数,输入值不能超过1000。配置最小实例数后,函数工作流会为您创建固定数目的函数实例,并且在您将最小实例数设置为0之前预留实例会持续运行。

    闲置模式

    开启此参数,表示预留实例在无调用的时候暂停CPU,节省资源,降低费用成本。

    • 别名和对应的版本不可以同时配置预留实例。比如,latest版本对应的别名为1.0,在latest版本下进行了预留实例配置,则在别名1.0下不能再进行预留实例配置,反之同理。
    • 闲置模式开启后,因为在最初阶段会涉及实例的初始化及模式转换,因此该段时间会以预留实例的非闲置模式计费标准进行计费。
    • 当函数调用并发数大于预留实例数量时,超出部分会分配给按量实例,这部分流量仍然有冷启动。
  5. 配置完成后,单击“确定”,在“预留实例策略配置”列表展示已添加的“策略配置”。
    图3 列表展示

配置定时伸缩的预留实例

用户配置预留实例时,能够配置指定的时间段、cron表达式及其对应的预留实例数量。函数服务能够在该时间段中,根据cron表达式更新预留实例的数量,如果时间段超过了该时间段,则将预留实例数量调整到配置的固定值的预留实例数量。

  1. 参见表1进行基础配置,完成后单击“添加策略”,进行弹性预留策略配置。
    图4 添加策略
  2. 参见表2,填写参数。
    表2 弹性策略配置说明

    参数

    说明

    策略名称

    自定义策略名称。

    Cron表达式(UTC)

    您可以参见Cron表达式规则,填写此参数。

    生效时间

    生效时间为本地时间,即cron表达式的生效时间窗。

    只有当时间在时间窗内时,该弹性策略才会生效,当该函数的所有弹性策略的生效时间窗都不生效时,那么预留实例数就会还原到基础配置中的最小实例数。

    最小实例数

    需要创建的预留实例数。

    根据实际业务场景,填写当前策略生效时创建的预留实例的个数。

    说明:

    最小实例数必须大于或等于基础配置里的最小实例数。

  3. 配置完成后,单击“确定”,在“预留实例策略配置”列表展示已添加的“策略配置”。
    图5 列表展示
  4. 单击“操作 > 编辑”,修改弹性策略信息、添加策略。
  5. 单击“操作 > 删除”,删除版本或别名下的预留实例策略。
  6. 预留实例将根据添加的弹性策略配置执行,您可以在“预留实例策略配置”列表,单击“限定符”,选择“弹性策略名称”,查看函数并发执行实例数。

    时间业务是可以配置多条定时策略,如配置早晨8点的时候,配置策略更新预留实例数为100,而21点的时候配置策略更新为10个。