1.MQ作用: 接收消息并转发
2.MQ应用场景:
①:异步解耦:
在业务流程中,有些操作比较耗时,但不需要立即返回结果,可用MQ将这些操作异步化.
②:流量削峰:
对于访问量突发剧增的情况并不常见,可用MQ去缓解这种访问的突发压力,让应用不会因突发流量而崩溃
③:异步通信:
很多时候应用不需要理解处理消息,可先将消息存在MQ中,等需要再处理
④:消息分发:
支持生产者发送一条消息到MQ,多个订阅该MQ的消费者同时接收处理,实现一对多的消息广播,避免生产者与多个消费者的直接耦合
⑤:延迟通知:
在需要在特定时间后发送通知的场景中,可用MQ的延迟队列实现
每个应用场景的常见例子:
<1>异步解耦:
如用户注册后,发送短信通知的这一操作可以作为异步任务处理,先返回用户注册成功的结果,而不必等短信通知操作完成后才告知用户注册成功.
<2>流量削峰:
如秒杀活动或者促销活动,可用MQ来控制流量,将请求排队,然后系统根据自己的处理能力逐步处理这些请求.
<3>异步通信:
例子与异步解耦一致
非要区别的话:
①从关系上:异步解耦是和下游互不绑定
②从交互上:异步通信是发完就走,不等结果
<4>消息分发:
如支付成功后,支付系统可向MQ发送消息,其他系统订阅该消息队列即可获得需要的消息,而无需轮询数据库
<5>延迟通知:
如电商平台中,若用户下单一定时间内未支付,可用延迟队列在超市后自动取消订单.





