什么是MQ?

Posted teles

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是MQ?相关的知识,希望对你有一定的参考价值。

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。

其主要用途:不同进程Process/线程Thread之间通信。

 

为什么会产生消息队列?有几个原因:

不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;

不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;


MQ框架非常之多,比较流行的有RabbitMQ、ActiveMQ、ZeroMQ、Kafka,以及阿里开源的RocketMQ。

以上是关于什么是MQ?的主要内容,如果未能解决你的问题,请参考以下文章

究竟什么时候该使用MQ?

MQ定义/优缺点/几种MQ对比

中间件MQ是什么?RabbitMQ又是什么?

什么是MQ?

MQ消息队列常见面试题

消息队列(mq)是啥?