1.MQ----what
- MQ的本质就是一发,一存,一收。
-
问题来了,为什么生产者不直接发消息给消费者
-
- 解耦,消费者只用去队列中拿消息,它甚至都可能不知道生产者的存在
- 多了一个队列,将收信息的方式从同步变成异步
-
-
问题又来了
- 因为普通的MQ的队列只有入队和出队两种方式,而出队就带着把信息删除;这就相当于如果有多个消费者收到同一条信息,他们之间就存在着竞争的关系。
- 由此引出了MQ的一个新模型,发布-订阅模型
2. 理解发布-订阅模型
- 一个消息能被多个消费者(订阅者)共享的原因:订阅者在收到消息前要去主题里面去”订阅主题“,最终每个订阅者都会收到一个消息的全量消息。
3. 具体案例分析-MQ
-
1.为什么用MQ
解耦,异步,削峰
-
解耦:具体场景如下图。一个下单的流程可能分为支付,优