A12中级

队列与异步处理

30 分钟设计新功能时

格式:判断哪些操作应该同步执行,哪些应该异步执行。

场景:用户在你的应用里发了一个帖子。以下操作哪些应该同步,哪些异步?

操作 同步还是异步? 你的理由
保存帖子到数据库 ?
返回"发布成功"给用户 ?
给关注者发推送通知 ?
生成帖子的缩略图 ?
更新用户的帖子计数 ?
AI 审核帖子内容 ?
更新搜索索引 ?
发送数据到分析系统 ?

核心原则

  • 同步:用户等着看结果的操作(保存数据、返回响应)
  • 异步:用户不需要立即看到结果的操作(通知、分析、后处理)

类比:餐厅里,"点菜"是同步的(你需要确认),"厨房做菜"是异步的(你不需要站在厨房看)。

我的笔记