A12中级
队列与异步处理
30 分钟设计新功能时
格式:判断哪些操作应该同步执行,哪些应该异步执行。
场景:用户在你的应用里发了一个帖子。以下操作哪些应该同步,哪些异步?
| 操作 | 同步还是异步? | 你的理由 |
|---|---|---|
| 保存帖子到数据库 | ? | |
| 返回"发布成功"给用户 | ? | |
| 给关注者发推送通知 | ? | |
| 生成帖子的缩略图 | ? | |
| 更新用户的帖子计数 | ? | |
| AI 审核帖子内容 | ? | |
| 更新搜索索引 | ? | |
| 发送数据到分析系统 | ? |
核心原则:
- 同步:用户等着看结果的操作(保存数据、返回响应)
- 异步:用户不需要立即看到结果的操作(通知、分析、后处理)
类比:餐厅里,"点菜"是同步的(你需要确认),"厨房做菜"是异步的(你不需要站在厨房看)。