返回模板页

Serverless 架构图示例

以下 Serverless 示例展示了同样的网关-函数-服务形态如何适配静态前端 Web 应用、事件驱动后端、流式 API 和边缘部署。

Serverless 架构图示例

真实案例

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 检查、路由),重请求回落到源站。

使用技巧

  • 按职责而非路由拆分函数——Auth、API、事件处理器是不同的部署单元,扩展和 IAM 需求都不同。
  • 把背端服务画成独立节点,而不要并进「云」一团——托管服务有独立的失败模式和定价。
  • 标注哪些是厂商锁定、哪些可移植;数据库、队列和身份服务通常是最大的锁定点。
  • 如果用了对冷启动敏感的函数,标注出来;架构决策常取决于冷启动是否可接受。

在线开始编辑

回到模板页,直接替换成你的课程主题、章节和复习重点,就可以继续使用这套结构。

使用这个模板: /editor/new?template=serverless-architecture

编辑此 Serverless 模板