无服务器计算是什么
Serverless 把服务器这层抽象掉:你只提交代码或镜像,平台负责调度、扩缩容与运行环境,计费按实际调用次数与执行时长,空闲不收费。事件驱动是它的核心用法,请求来了才拉起实例,因此天然适合突发流量与低频任务,代价是冷启动与执行时长限制。
基本信息
| 形态 | 函数计算与 Serverless 容器两条路线 |
|---|---|
| 计费 | 按调用次数加执行时长与规格,空闲不计费 |
| 约束 | 冷启动延迟、单次执行有超时上限、运行环境无状态 |
| 触发方式 | HTTP 网关、定时器、消息队列、对象存储事件 |
| 并发 | 需显式设置并发上限,避免被刷量 |
| 网络 | 访问 VPC 内资源通常要开启 VPC 访问配置 |
适合与不适合
| 场景 | 是否合适 | 原因 |
|---|---|---|
| 图片与视频转码 | 合适 | 事件驱动、可并行、突发明显 |
| 定时任务与巡检脚本 | 合适 | 低频按次计费,无空闲成本 |
| 流量波动的 Web API | 合适 | 自动扩缩容,需注意冷启动 |
| 长时运行的有状态服务 | 不合适 | 执行超时且实例会被回收 |
| 常驻高并发网关 | 一般 | 高频调用下成本可能高于包年包月 |
典型触发链
典型触发链
对象存储上传事件 → 函数触发 → 图片压缩与水印
→ 写回新对象 → 发送通知
# 常见变体:消息队列堆积触发消费函数、定时器触发巡检典型使用场景
- 定时清理与巡检脚本,按次执行比常驻实例便宜
- 上传后异步处理:转码、缩略图、内容审核
- 低流量 API 与内部工具,没有请求时成本为零
- 峰值波动明显的业务,用自动扩缩容接住突发
- 消息队列消费端做成函数,按堆积量自动扩缩
函数实例的本地磁盘不是持久的,需要共享状态时用对象存储、数据库或缓存,不要依赖本地文件。
冷启动是主要体验风险:对延迟敏感的接口需要预留实例或定期预热,纯按需模式下首个请求可能明显变慢。
并发未设上限时,被刷量或异常重试会瞬间放大调用次数,费用随之失控;上线前先设并发上限并配好费用告警。