Serverless Web 应用(基线方案)
使用场景: 无运维负担发布小型产品的团队
CDN 上的静态前端(S3 + CloudFront、Vercel、Netlify)
API 网关 → Lambda 做后端端点
DynamoDB 或 Aurora Serverless 做数据库
Cognito 或 Auth0 做身份
按请求计费;闲时缩容到零
这样组织的原因: 基线 Serverless Web 应用是最干净的起点——图表无需预置服务器,全栈可缩容到零。权衡:首次请求冷启动,以及各服务的厂商锁定。
事件驱动 Serverless
使用场景: 在云事件之上构建异步工作流的团队
S3 上传 → Lambda 处理文件
DynamoDB 流 → Lambda 更新聚合
SQS / SNS / EventBridge 把事件扇出给多个处理器
纯异步路径不需要 API 网关
每个事件源有自己的限流和 DLQ 策略
这样组织的原因: 事件驱动 Serverless 完全跳过网关——图表顶部放事件源而非客户端,函数对来自 S3、DynamoDB 流或消息总线的事件做反应。
带流式的 Serverless API
使用场景: 为 Serverless 应用添加实时更新的团队
通过 API Gateway WebSocket API 支持 WebSocket
AppSync 订阅做 GraphQL 实时
函数把更新推给已连接的客户端
连接状态存在 DynamoDB
结合请求 / 响应与发布 / 订阅
这样组织的原因: Serverless 上的流式通常意味着 API Gateway WebSocket 或 AppSync 订阅——图表加一个连接存储,因为函数需要在多次调用之间记住谁订阅了。
边缘 Serverless
使用场景: 在靠近用户的位置运行函数的团队
函数部署到边缘节点(Cloudflare Workers、Lambda@Edge)
靠近用户的亚 50ms 执行
受限运行时(无长期状态、依赖更小)
源站函数仍承担重活
用于边缘 Auth、重定向、A/B 测试
这样组织的原因: 边缘 Serverless 在 CDN 节点上加第二层函数——图表把边缘函数放在源站 API 网关之前,做靠近用户的轻活(Auth 检查、路由),重请求回落到源站。