调用函数方式

同步调用

异步调用

重试机制

同步调用

同步调用指的是客户端触发函数后,需阻塞等待函数调用结果返回的场景。当前以下触发器:API网关APIG(共享版)、API网关APIG(专享版)、服务集成APIC默认同步触发。您也可以使用同步执行函数接口同步触发函数。同步调用场景下,函数最大运行时长限制为15分钟。

异步调用

异步调用指的是客户端触发函数后,FunctionGraph持久化请求并立即返回,客户端不等待请求最终处理完成,用户无法实时感知请求处理结果。FunctionGraph最终将异步请求排队,在服务端空闲的情况下逐个处理。如果您希望获取异步请求结果通知或者设置异步请求失败重试。

以下触发器:默认异步调用,用户不可修改。

事件源
调用方式

消息通知服务SMN

异步调用

对象存储服务OBS

异步调用

数据接入服务DIS

异步调用

定时器TIMER

异步调用

云日志服务LTS

异步调用

云审计服务CTS

异步调用

文档数据库服务DDS

异步调用

分布式消息服务Kafka版

异步调用

分布式消息服务RabbitMQ版

异步调用

云数据库GaussDB(for Mongo)

异步调用

以下触发器:API网关APIG、API网关APIG(专享版)、服务集成APIC可以在触发器对应服务页面配置成异步触发方式。您也可以使用异步执行函数API接口异步触发函数。异步调用场景下,函数最大运行时长限制为12小时(通过白名单配置)。

说明:如果函数执行端到端时延超过90s,建议使用异步不使用同步,否则会因为网关限制,超过90s后无法收到同步响应。

示例

在已创建函数并配置APIG触发器的前提下,以APIG触发器为例,配置异步触发。

在函数列表中打开函数,单击“设置 > 触发器”。

单击已配置的APIG触发器名称,跳转到APIG服务页面。

图1 单击触发器名称

单击右上角的”编辑”。

单击“下一步”到“定义后端服务”页面,修改调用类型为“Asynchronous”。

图3 修改调用类型

单击“立即完成”,进行保存。

重试机制

函数在同步调用或异步调用执行失败时,您可以参见以下重试机制进行操作。

同步调用

同步调用执行失败,建议您自行尝试重试。

异步调用

异步调用可在界面配置最大重试次数和消息最大有限期,具体配置方法请参见配置函数异步。函数平台会根据您配置的最大重试次数和消息最大有限期(最大有限期为24小时),进行重试。重试次数和配置的最大重试次数一致,重试有效期和配置的消息最大有效期一致。

函数工作流 FunctionGraph 常见问题

函数工作流 FunctionGraph 常见问题

  • FunctionGraph函数的执行需要多长时间?

    同步调用函数的执行时间在900秒内,异步调用函数的执行时间在72小时内。

    FunctionGraph函数默认的执行超时时间为3秒,您可以自行设置执行超时时间为3 ~ 259200秒之间的任何整数。如果执行超时时间设置为3秒,超过3秒后,函数将终止执行。


  • FunctionGraph函数的执行包含了哪些过程?

    FunctionGraph函数的执行过程包含两步:

    选择一个相应内存的空闲实例。

    执行用户的指定运行代码。


  • FunctiongGraph函数的并发处理过程是什么?

    FunctionGraph会根据实际的请求情况自动弹性伸缩函数实例,并发变高时,会分配更多的函数实例来处理请求,并发减少时,相应的实例也会变少。

    用户函数实例数=用户函数并发数/该函数的单实例并发数。

    用户函数并发数:指某一刻该函数同时执行的请求数。

    该函数的单实例并发数:指单个实例最多允许的函数并发数,即函数并发配置界面的“单实例并发数”。


  • FunctiongGraph函数如何处理长时间不执行的实例?

    如果一个函数在一段时间内一直没有执行,那么所有与之相关的实例都会被释放。


  • 首次访问函数慢,如何优化?

    如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言慢。此时,您可以通过以下设置,增加运行速度。

    适当增加函数的内存。

    精简函数代码,例如:删除不必要的依赖包。

    使用C#语言时,除了以上两种方法,在非并发场景下,您还可以通过以下方法增加运行速度。

    创建一个一分钟一次的定时触发器,确保至少有一个存活的实例。


1对1咨询专属顾问

1对1免费咨询华为云专属顾问,为您量身定制产品推荐方案
立即咨询

华为云咨询电话:950808或4000-955-988 转1

华为云咨询电话:950808或4000-955-988 转1

华为云专业的服务团队,致力于为您提供专业的售前购买咨询服务,及完善的售后技术服务,助您云上无忧