CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
无服务器入门/课时/事件驱动架构
RawBlame
课时目录12 节

无服务器入门

  1. 01无服务器是什么
  2. 02十二要素应用
  3. 03FaaS 执行模型
  4. 04AWS Lambda 入门
  5. 05事件驱动架构
  6. 06API Gateway
  7. 07冷启动与性能
  8. 08无状态与外部存储
  9. 09数据库迁移
  10. 10本地开发与部署
  11. 11成本与限制
  12. 12综合练习

事件驱动架构

S3/SQS/API GW 触发;对照 kafka。

30 分钟

事件驱动架构

Serverless 的默认姿势不是「前端一直调一个常驻 API」,而是 某处发生事实(对象上传、表变更、队列消息)→ 自动触发函数。这与 kafka-intro 的异步解耦同源,差别在 托管事件总线 vs 自建 Kafka 集群。

学习目标

  • 列举 AWS 上常见 Lambda 事件源
  • 理解同步 vs 异步触发与失败重试语义
  • 对照 Kafka 消费者组与 SQS 触发的异同

常见事件源

事件源典型场景投递特点
API GatewayHTTP API同步,客户端等响应
S3文件上传后处理异步,至少一次
SQS削峰、解耦批处理、可见性超时
DynamoDB Streams表变更捕获有序分区流,见 ddb-streams
EventBridge跨服务路由、定时规则匹配、schema 注册
用户上传 PDF → S3 PutObject
            → S3 通知 → Lambda 转码/写索引
            → 失败 → DLQ(死信队列)供人工或告警

与 Kafka 的对照

维度KafkaSQS + Lambda
运维自建 Broker、分区、ISR全托管
消费模型Consumer Group、offset隐式,按消息拉取
顺序分区内有序标准队列不保证全局顺序
适用高吞吐日志、流处理AWS 原生、与 Lambda 深度集成

kafka-consumer 讲的 rebalance 与 at-least-once,在 Lambda 里体现为 重复 invocation——Handler 必须 幂等(见 kafka-delivery)。

设计原则

  1. 事件即事实:payload 带 eventId、时间戳、来源
  2. 小 Handler:重逻辑拆成多函数或写回队列
  3. 失败可观测:DLQ + CloudWatch Alarm,不要静默丢消息
  4. 避免环状触发:A 改表触发 B,B 又写表触发 A

练习

  • 设计「订单支付成功」事件:用 EventBridge 还是 Kafka 更合适?写三条理由
  • 画数据流:DynamoDB Streams → Lambda → 写 OpenSearch 索引
  • 阅读 ddb-streams,说明与 Kafka compact topic 的相似点
  • 小结

    Serverless 架构的中心是事件,不是长连接。 下一课聚焦 HTTP 入口:API Gateway 的路由、鉴权与限流。

    加载本节练习…
    ← 上一课AWS Lambda 入门下一课 →API Gateway