来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一、什么是消息队列?
消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术,反正我是觉得它好像是挺牛逼的。
消息队列,一般我们会简称它为MQ(Message Queue)。
队列是一种
先进先出的数据结构。
在Java里边,已经实现了不少的队列了:
那为什么还需要消息队列(MQ)这种中间件呢???其实这个问题,跟之前我学Redis的时候很像。Redis是一个以key-value
形式存储的内存数据库,明明我们可以使用类似HashMap这种实现类就可以达到类似的效果了,那还为什么要Redis?《Redis合集》
- 到这里,大家可以先猜猜为什么要用消息队列(MQ)这种中间件,下面会继续补充。
消息队列可以简单理解为:把要传输的数据放在队列中。
科普:
- 把数据放到消息队列叫做生产者
- 从消息队列里边取数据叫做消费者
![](https://img2020.cnblogs.com/blog/1521569/202004/1521569-20200422143443061-1194416204.png)
二、为什么要用消息队列?
![](https://img2020.cnblogs.com/blog/1521569/202004/1521569-20200422143602932-342294179.jpg)
参考:
作者:Java3y
链接:https://www.zhihu.com/question/54152397/answer/657234090