什么是MQ

1.用一段话描述你理解的MQ
MQ,message queue,消息队列,是一种上下游传递消息的方法。使用MQ之后,发送方只需要依赖MQ,而不需要依赖其他服务。MQ应用的3种场景:异步,解耦和削峰。

2.举一个MQ的工作场景,就是生产中哪里会用到MQ ?
a. 写入请求并发量高的情况需要用到MQ, 比如平时访问量不高的网站,遇到促销活动会出现并发量激增的情况,如果服务器的能力达不到并发量,很有可能会使系统崩溃。

Created with Raphaël 2.2.03000次并发访问X处理1000次并发访问能力

使用MQ后服务器可以根据自己的能力来控制处理速度,能力以外的消息放在消息队列中等待,这种场景就是削峰。

Created with Raphaël 2.2.03000次并发访问MQ处理1000次并发访问能力

b. 非必要的业务逻辑也可以用到MQ,比如说用户下购买订单,可能同时还会有积分和短信通知的操作,正常流程是这样,操作越多反馈结果时间越长。
什么是MQ
MQ可以直接反馈给用户购买成功的响应,同时进行积分和短信通知,这样提高响应效率和速度,提升用户体验,这种场景就是异步。什么是MQ
c. 同样的场景,操作信息写入MQ中,需要消息的时候自己从消息队列中订阅,得到结果后再各自执行自己的操作,这种场景叫做解耦。
什么是MQ