现在可以做正式总结了。
#传统任务队列更像
待办工单池
谁拿到工单,谁负责做完
做完最好别再来第二次#Kafka 更像
城市事件广播总线
事件一旦发生,就写入广播日志
多个部门可独立订阅
允许回放、补算、重建状态所以 Kafka 常见用法是:
- 订单创建事件广播给库存、风控、优惠券、通知
- 用户行为事件流入实时分析系统
- 数据库变更变成事件流供下游同步
- 多服务之间用事件解耦
而不是:
- “某个小任务只想交给某一个 worker 做掉就完”
如果你的需求是:
- 单任务分发
- 任务执行结果追踪
- 延迟任务、优先级、死信、复杂重试策略
那很多时候传统任务队列会更直接。