1.概述
2.应用场景
解耦 、异步 、削峰
3.基本架构
Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue
Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。
Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的
Producer:消息生产者,即生产方客户端,生产方客户端将消息发送
Consumer:消息消费者,即消费方客户端,接收MQ转发的消息。
ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用;
Channel(信道):消息推送使用的通道;
RoutingKey(路由键):用于把生成者的数据分配到交换器上;
BindingKey(绑定键):用于把交换器的消息绑定到队列上;
4.消息流程
- 生产者发送消息流程:
1、生产者和Broker建立TCP连接。(connection)
2、生产者和Broker建立通道。(channel)
3、生产者通过通道发消息送给Broker,由Exchange将消息进行转发。
4、Exchange将消息转发到指定的Queue。 - 消费者接收消息流程:
1、消费者和Broker建立TCP连接。(connection)
2、消费者和Broker建立通道。(channel)
3、消费者监听指定的Queue。
4、当有消息到达Queue时,Broker默认将消息推送给消费者。
5、消费者接收到消息。
6、ack回复。
5.整合Springboot
<!-- amqp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
相关链接