异步调用
所有文档
menu

函数计算 CFC

异步调用

产品详情立即开通

概述

CFC目前支持以下两种调用方式:

  • 同步调用:调用请求被函数处理之后会直接返回结果。例如,使用控制台调用、http触发器调用等
  • 异步调用:调用事件在写入到函数计算内部队列后返回结果,函数计算系统会保证该消息被可靠地处理。目前,除了API调用外,CFC支持的异步调用方式包括:BOS触发器定时任务触发器两种触发方式。

异步执行过程

当函数被异步调用时,CFC会将用户请求先写入内部的消息队列中,并返回异步调用结果,接下来,CFC会从内部消息队列中读取消息,触发函数调用,如果函数执行执行失败次数超限或触发事件等待超时,则会触发目标服务(如函数或topic)。

调用.png

相关概念

  • 重试次数 函数异步调用最大允许重试的次数。
  • 最长保留时间 单次请求最长被允许在内部消息队列保留的时间。
  • 目标服务 异步调用执行完成后,被调用的相关服务。

使用限制

  • 最大重试次数限制为0-3。
  • 最大超时时间限制为0-24小时。
  • 目标服务为函数时,不能绑定函数本身。
  • 支持函数执行成功或失败时触发目标服务,目标服务有且只有一个。

注意:目标服务为函数时,应避免循环调用,如函数A配置了成功调用时的异步目标为函数B,为函数B配置了成功调用时的异步目标为函数A,当异步调用触发函数A时且执行成功后,则可能出现A-->B-->A...循环调用的情况。

异步调用适用场景

  • 不需要经常查看每个执行结果
  • 任务量多且比较密集
  • 存在服务调用关系

最典型的场景比如:利用Bos触发器接收到日志后需要进行日志批量处理。

异步调用配置

1.进入函数基本信息界面,打开异步策略配置

image.png

2.配置重试策略与异步执行目标

image.png

目前异步执行目标只支持CFC和kafka消息队列两种服务,当配置为其中的一种服务时

  • CFC 当该次异步调用执行完成后,会根据满足的配置条件对配置的目标函数进行二次调用
  • Kafka 当该次异步调用执行完成后,会将此次调用信息写入用户配置的消息队列中去
上一篇
服务管理
下一篇
预留实例管理