什么是mq
MQ(message queue),从字面意思上看,本质是个队列, FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中, MQ 是一种非常常见的上下游“逻辑解耦+物理解耦” 的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。
为什么要使用mq
会话中间件
消息队列经常作为分布式系统的消息中间件,例如php生产消息,java服务器消耗消息
异步操作
用多进程异步操作,去掉单进程同步操作。例如下单的时候,可以先把一些工作项推送消息队列,让其它进程去异步的处理。
队列操作
因为是队列的形式,消费者是一条条的读取消息,服务器不会超负载。