场景一,异步处理
从两幅图对比,同样的业务,加入消息MQ后,第二种的处理速度让用户感觉快了一点(45ms)。适用消息队列,只要将任务写入消息队列,就可以立即返回,因此缩短响应时间。而发送邮件和发送短信的业务,都可以订阅消息队列中的消息,读取到消息后,可以在后台慢慢处理。
场景二,应用解耦
原来系统之间的调用,可以通过消息队列得到解耦。现在订单系统只需要将消息写入消息队列即可。而库存系统只需要订阅消息队列中的消息。
场景三,流量控制
如秒杀业务,在短时间内,可以有大量请求过来。此时,可以将大量的用户请求,写入消息队列中。而秒杀业务订阅消息队列中的消息,并且以远慢于用于请求的速度处理处理请求。这样做到了控制流量的目的。虽然用户请求时的流量很大,但是通过消息队列后,秒杀业务可以以较慢的速度消费消息。消息队列起到了缓冲作用。