是什么
函数计算是事件驱动的无服务器形态:你只提交一段代码与触发器配置,平台负责运行、伸缩与计费。三家产品名不同,核心概念一致:函数、触发器、并发度与执行时长上限。计费按调用次数加资源使用时长,因此空转不花钱,但冷启动带来的首请求延迟与并发上限是需要重点评估的两个约束。
对照表
| 概念 | 阿里云 | 腾讯云 | 华为云 |
|---|---|---|---|
| 产品名 | 函数计算 | 云函数 | 函数工作流 |
| 触发器 | 超文本、定时与消息类 | 接口网关、定时与消息类 | 接口网关、定时与消息类 |
| 运行模型 | 按请求与预留实例 | 弹性实例与预置并发 | 按请求与预留实例 |
| 计费 | 调用次数加资源时长 | 调用次数加资源时长 | 调用次数加资源时长 |
| 编排 | 工作流编排服务 | 状态机编排 | 函数工作流编排 |
典型使用场景
- 事件处理:对象存储有新文件时自动触发转码、加水印或分析
- 定时任务:按周期执行数据拉取、报表生成与清理任务
- 轻量接口:访问量波动大、平时几乎无请求的接口
- 系统集成:在多个服务之间做数据格式转换与转发
- 运维自动化:资源异常事件触发自愈脚本,替代常驻轮询进程
选型与使用要点
| 冷启动 | 首次调用需要初始化运行环境,延迟敏感业务要用预留实例压住 |
|---|---|
| 执行时长 | 函数有超时上限,长任务应拆分或改用容器与批处理 |
| 并发 | 并发上限与账号配额相关,突增流量需要提前申请提升 |
| 状态 | 函数实例无状态,缓存与连接要在调用之间自行处理 |
| 依赖 | 依赖包体积影响冷启动时间,按需裁剪依赖 |
按常驻服务思维写函数是最常见的误用:初始化逻辑每次冷启动都会重跑,把数据库连接、配置加载放在函数入口外面能显著降低首请求延迟。
预留实例是按时间计费的:为了消除冷启动而长期保留大量预留实例,费用可能超过常驻服务,按实际并发曲线配置并定期复核。