【783】消息队列实战:Kafka如何成为系统间的"顺丰快递"?
你有没有想过这个问题:
你网购下单后,支付成功的通知是怎么瞬间发到商家、仓库、物流好几个系统的?
总不能支付系统挨个打电话通知吧?
这时候就需要一个"快递中转站"——消息队列。
什么是消息队列?
消息队列(Message Queue)是一种进程间通信方式,用于在不同系统之间传递消息。
类比顺丰快递:
- 你= 消息生产者(支付系统)
- 快递柜= 消息队列(Kafka/RabbitMQ)
- 取件人= 消息消费者(库存系统、物流系统)
- 快递员= 消息中间件本身
生产者 ──消息──► [消息队列] ──消息──► 消费者A │ └──消息──► 消费者B为什么需要消息队列?
场景1:异步处理 - 削峰填谷
双十一零点,下单请求像洪水一样涌来:
不用消息队列: 用户下单 → 扣库存 → 发通知 → 更新积分 → 返回成