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综合练习

综合练习

设计一个事件触发的 Lambda 方案。

40 分钟

综合练习

把本 track 串起来:设计并实现(或纸面设计)一个「S3 上传 → Lambda 处理 → DynamoDB 记录 → HTTP 查询」的最小方案。目标不是堆服务,而是 事件驱动、无状态、可迁移、成本可估。

学习目标

  • 独立完成 Serverless 方案的需求拆分与组件选型
  • 对照 srv-intro 至 srv-cost 的检查清单
  • 衔接 aws-essentials、dynamodb-essentials、scaling-essentials

任务说明:课程封面上传流水线

假设 CodeRoadMap 允许维护者为 track 上传 封面图(实验功能):

  1. 维护者 PUT 图片到 S3 covers/{trackSlug}.png
  2. S3 事件触发 ResizeLambda:生成 thumbnail,写回 S3
  3. 同事件或 Stream 触发 MetaLambda:更新 DynamoDB TrackMeta(slug、coverUrl、updatedAt)
  4. 读者 GET /tracks/{slug} 经 API Gateway → QueryLambda 读 DynamoDB 返回 JSON

必含设计要素

┌─────────┐    PUT     ┌────┐   event   ┌─────────────┐
│ Admin   │ ────────► │ S3 │ ────────► │ ResizeLambda │
└─────────┘           └────┘           └──────┬──────┘
                                              │ write thumb
┌─────────┐   GET    ┌──────────┐   invoke   ┌─────────────┐
│ Client  │ ───────► │ API GW   │ ────────► │ QueryLambda  │
└─────────┘          └──────────┘            └──────┬──────┘
                                                    │ GetItem
                                               ┌────▼────┐
                                               │ DynamoDB │
                                               └─────────┘
检查项对应课
IAM 最小权限srv-lambda、aws-iam
幂等(重复 S3 通知)srv-events、kafka-delivery
冷启动与包体积srv-cold-start
无状态、表设计 PK/SKsrv-state、ddb-keys
SAM 模板与本地 invokesrv-local
月成本粗算srv-cost

交付物(二选一)

A. 纸面设计(最低)

  • 一页架构图 + IAM 策略 bullet + DynamoDB 表结构
  • 列出 3 个失败场景与 DLQ/告警处理
  • B. AWS 实验(推荐有 free tier 者)

    • SAM 模板 + 两个 Handler 骨架(可 Java 或 Node)
    • sam local invoke 截图或 CloudWatch 日志一行
    • 实验后 sam delete 销毁栈

    自检清单

    • Handler 无本地 Session / 无 CREATE TABLE
    • S3 → Lambda 处理 幂等(同一 key 重复通知不出错)
    • API 鉴权:至少说明 dev 开放、prod 用 API Key 或 Cognito
    • 估算每月 1000 次上传 + 10 万次读 的主要费用项
    • 指出哪一段若迁出 AWS 最难替换

    与路线图

    完成后回到 devops / 全栈路线图,勾选 Serverless / Lambda / 事件驱动 节点。数据建模薄弱则补 orm-er;消息语义深入见 kafka-practice。

    小结

    事件进、函数算、外部存、HTTP 出——Serverless 合格方案不过如此。 本 track 完结;生产环境仍要监控、成本与 reliability-essentials 里的 SLO 意识。

    加载本节练习…
    ← 上一课成本与限制