核心问题

你需要的是消息系统,还是一个简单队列?

工程困境

“别人都用 Kafka”不是架构理由。

如果每天几百单,只需要支付后异步发邮件,Kafka 可能比问题本身更重。

思想模型

工具对应不同问题:

Redis List    -> 轻量队列
Postgres outbox -> 事务一致 + 可追踪
Kafka         -> 高吞吐 + 多消费者 + 重放

好判断

如果你需要:

  • 高吞吐事件流
  • 多消费者独立消费
  • 长期保留和重放
  • 数据管道

Kafka 合理。

如果只是异步任务,先考虑 outbox 或轻量队列。

Atlas Action

把你的“我们需要 Kafka”改写成:“我们需要 X 能力,因为 Y 风险,成功标准是 Z”。如果写不出来,先别上。

小结

不要用成熟公司的答案,替代你自己的问题分析。