函数类型选型-j9九游会登录
本文介绍函数工作流支持的函数类型的适用场景及差异,供您进行函数类型选型。
函数选型建议
为满足不同场景下的用户需求,函数工作流支持通过在线编写代码、上传代码文件或者使用容器镜像,创建事件函数和http函数,且支持使用gpu计算资源。
在使用函数工作流时,可以根据业务场景和技术栈偏好,选择合适的函数类型和运行时。常见应用场景的函数选型建议请参考表1。
|
应用场景 |
函数选型建议 |
说明 |
|---|---|---|
|
web应用和api服务 |
使用代码创建http函数 |
http函数支持主流web应用框架,可以通过浏览器访问,或由url直接调用。 |
|
文件处理和数据流处理 |
结合内置运行时创建事件函数 |
事件函数可以配置事件触发,集成了多种华为云产品(如对象存储服务obs、分布式消息服务 rabbitmq 版、云日志服务lts等)。 |
|
chatbot和文生图等模型推理场景 |
结合自定义镜像创建http函数并启用gpu |
使用基于流行ai项目(如stable diffusion、comfyui、ollama等)的容器镜像创建http函数,启用gpu快速构建ai模型推理服务。 |
|
定时任务和音视频转码等异步任务场景 |
结合内置运行时创建事件函数 |
事件函数可以配置事件触发,能够通过特定事件或定时触发来调用关联函数。 |
函数类型选型分析
关于事件函数与http函数的具体分析,请参考表2。
|
对比项 |
事件函数 |
http函数 |
|---|---|---|
|
功能 |
用于处理文件和数据流,可以通过各类云产品的事件触发(如基于eg的obs应用事件源触发器、kafka触发器、lts触发器等),以及用于处理异步请求,能够追踪并保存每个异步调用的状态。 |
支持流行的web应用框架和ai流行项目,可以通过浏览器访问,或通过url调用。 |
|
适用场景 |
|
|
|
运行环境 |
推荐使用内置运行时。 |
推荐使用定制运行时或自定义镜像。 |
函数运行环境选型分析
关于函数运行环境的具体分析,请参考表3。
|
对比项 |
内置运行时 |
定制运行时 |
自定义镜像 |
|---|---|---|---|
|
开发流程 |
根据函数工作流定义的函数执行入口编写请求处理程序。 |
基于web应用框架模板开发应用,通过公网访问地址即时看到结果。 |
将自定义镜像上传至swr然后使用镜像,或者使用swr中已有的镜像。 |
|
支持的实例类型 |
cpu实例 |
cpu实例和gpu实例 |
cpu实例和gpu实例 |
|
单实例多并发 |
不支持 |
支持 |
支持 |
|
冷启动 |
最快。 代码包中不包含运行时,因此冷启动最快。 |
较快。 代码包是一个http server程序,体积较大,但不需要拉取swr容器镜像,因此冷启动会较快。 |
较慢。 需要拉取镜像,因此冷启动较慢。 |
|
代码文件大小限制 |
代码包大小不超过100mb或500mb,具体请参见代码部署包大小限制说明。 |
未解压的镜像大小不超过10 gb。 |
|
|
代码文件格式 |
zip、jar(java) |
容器镜像 |
|
|
支持的编程语言 |
node.js、python、php、java、c#、go |
无限制 |
无限制 |
通过控制台创建函数
通过函数工作流控制台,支持创建以下函数。
如果想使用流行ai项目(stable diffusion webui、comfyui、ollama等)的容器镜像,可通过函数工作流控制台创建gpu实例,如图3所示使用容器镜像创建http函数。具体操作步骤,请参见。
functiongraph提供多种场景的函数模板,在使用函数模板创建函数时,能够实现代码与环境变量的自动填充,快速构建函数应用。如您的需求可由函数模板满足,如图4所示,可以选择使用函数模板创建函数。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

