消息队列的构成及其工作原理到底是怎样呢,今天我们一起来看看。
一、消息队列的构成
消息队列是由生产者,消息队列和消费者构成。我们可以细化组件如下图
Producer:消息生产者,即生产方客户端,生产方客户端将消息通过连接信道发送到MQ。
Broker:消息队列服务进程,即我们的RabbitMQ。此进程包括两个部分:Exchange和Queue。
Consumer:消息消费者,即消费方客户端,接收并消费MQ转发的消息的服务。
Exchange:消息队列交换机,按某种规则将消息路由转发到某个队列,对消息进行过滤。
Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。
二、消息发布接收流程
2.1.发送消息
- 生产者和Broker建立TCP连接。
- 生产者和Broker建立通道。
- 生产者通过通道消息发送给Broker,由Exchange将消息进行转发。
- Exchange将消息转发到指定的Queue(队列)
2.2.接收消息
- 消费者和Broker建立TCP连接
- 消费者和Broker建立通道
- 消费者监听指定的Queue(队列)
- 当有消息到达Queue时Broker默认将消息推送给消费者。
- 消费者接收并消费消息。
本期就先到这里有点枯燥有点短,接下来几期计划聊一下RabbitMQ的交换机类型和几种订阅模型。点个赞再走,给您磕一个。