做网站需要套模板免费的外贸b2b网站
17.1 谈谈你对MQ的理解
难度:★
重点:★★
白话解析
MQ也要有一跟主线,先理解它是什么,从三个方面去理解就好了:1、概念;2、核心功能;3、分类。
1、概念:MQ(Message Queue),消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递。说白了就是一个先进先出的队列,用来存消息数据的一个数据结构。
2、核心功能:
-
流量消峰:说白了就是起到缓冲的中间层作用。当流量突然激增的时候,后台没有足够线程来处理,此时就可以把消息先存在队列里面,缓解后台压力。
-
应用解耦:让两个应用不直接交互,而是让一个中间层起到连线的作用。例如下单操作时,即使后台服务挂掉了,也不会导致整个应用停掉。因为前端依然可以下单,然后下单的消息可以先存在队列里面。后台服务啥时候重启,啥时候去队列里面消费就好了。
-
异步处理:还是可以理解成缓冲的概念,当前端发起请求下订单的时候,不直接调后台了,而是直接把这个请求丢给MQ,然后后台异步去慢慢拿请求消费。
3、分类:
-
ActiveMQ:
a)单机吞吐量万级,吞吐量低;
b)时效性毫秒级;
c