Chapter 08 - Decoupling and Integration
本章目标
看完本章后,你应该可以回答:
- SQS、SNS、EventBridge、Step Functions、API Gateway、Kinesis 怎么分?
- 什么时候需要 queue?
- 什么时候是 pub/sub?
- event-driven、workflow、streaming 题目怎么判斷?
一句话
Integration 是让系统元件不要互相拖垮,并让同步流程、异步流程、事件流程各自用對工具。
架构位置
Integration 通常位于 compute 之間、compute 和 data processing 之間,负責 decouple、buffer、fan-out、orchestration 或 streaming。
常见服务与概念
- SQS
- SNS
- EventBridge
- Step Functions
- API Gateway
- Kinesis
- DLQ
- FIFO queue
- fan-out
PM 视角
PM 要问:用户是否需要立即结果?后端可不可以慢慢处理?失败是否要 retry?是否一个事件要通知多个系统?流程是否有多步骤和状态?
Developer / DevOps 视角
工程师要能把 coupling 降低:用 SQS buffer 不稳定流量,用 SNS fan-out 通知,用 EventBridge 做事件路由,用 Step Functions 管多步骤状态。
考试怎么问
常见题型会问:
- 前端流量暴增,后端处理速度固定
- 一个事件要通知多个訂閱者
- 多步骤流程要可視化并管理 retry
- streaming click data 或 IoT data 要即时处理
常见陷阱
| 陷阱 | 正确方向 |
|---|---|
| SNS 和 SQS 混淆 | SNS 是 pub/sub,SQS 是 queue |
| 所有异步都用 Lambda 直连 | 先看是否需要 buffer / retry / DLQ |
| Step Functions 当 queue | Step Functions 是 workflow orchestration |
| Kinesis 当普通 job queue | Kinesis 偏 streaming data |