1、队列: 点对点通信(point - to - point):。消息发送者发送消息,消息代理将其放入队列,消息接收者从队列中获取消息内容,消息被删除。

2、主题: 发布publish/订阅subscribe 消息通信:。发布者将消息发送到主题,多个接收者(订阅者)订阅这个主题,然后在消息到达时同时收到消息。

(三) RabbitMQ的核心概念。
1、Message(消息):。不具名,#xff0是由消息头和消息体租出的c;消息体是不透明的。消息头由一系列可选属性组成,如routing-key路由键,priority-与其他消息相比,delivery-mode-指出消息是否需要永久存储等。
2、Publicsher(消息制作人):。客户端应用程序向交换器发布消息。
3、Exchange(交换器):。用于接收消息并将消息路由传递给服务器中的队列,有四种类型,即决定将消息传递给该队列,具体如下:
(1)、Direct:新闻中的路由键(routingkey),如果binding和Binding中的binding key 如果一致,则将消息发送到相应的队列。
(2)、Fanout类型: 即广播模式,每个发送到fanout类型的交换器信息,交换器将信息发送到其绑定的所有队列中,其转发信息最快。
(3)、Topic:主题可以设置模糊匹配,可以识别"#“和”*"号码,#表示匹配0个或多个单词,*匹配一个单词,单词之间使用:逗号分开。
(4)、headers:实现发布订阅模型(基本不使用)。
4、Queue(消息队列):。消息容器,一个消息可以放在一个或多个队列中。
5、Binding(绑定):。用于信息队列和交换器之间的关联,绑定是基于路由键连接交换器和信息队列的路由规则。交换器和队列之间的绑定可以是多对多的关系。
6、Connection(网络连接):。如TCP连接。
7、Channel(信道):。多路重用连接中的独立双向数据流通道是基于真实TCP连接的虚拟通道。AMQP命令是通过信道发送的,无论是发布信息、订阅队列还是接收信息,它们都是通过信道完成的,因为在操作系统中创建和销毁TCP连接是非常昂贵的,所以使用信道来重用TCP连接。
8、Consumer(消费者):接受和消费新闻。
9、Virtaul Hos(虚拟主机):。即小型RabitMQ服务器,它表示一批交换器,信息队列和相关对象必须在连接时指定༌默认为:/(以路径区分)。
10、Broker:。服务器实体的消息队列。

五: Spring如何整合rabitMQ?
(一) 添加依赖。
org.springframework.boot。
spring-boot-starter-amqp。
2.2.1.RELEASE。
(二) 设置配置信息。
spring:。
application:。
name: RabbitMQ-Test # 应用名称。
rabbitmq:。
host: localhost #rabitServer地址。
port: 5672 # 端口。
username: guest # 用户名称。
password: guest # 连接密码。
virtual-host: /。
server:。
port: 9090。
(三) 在启动类中添加EnableRabbit注释。
@SpringBootApplication。
@EnableRabbit。
public class RabbitMqTestApplication { 。
rest.convertAndSend(“direct_test2”rount-key”,map);
}。
(七) 消息消费者从队列中消费(手动执行)。
// 消费者的消息。
@Test。
public void messageConsumerTest() throws Exception{ 。
RabbitTemplate rest = new RabbitTemplate(connectionFactory);

// 从名为queue_test的队列中获取消息。

Message queue_test = rest.receive(“queue_test”);
System.out.println(new String(queue_test.getBody(),“UTF-8”));
}。
最后。
我还通过一些渠道整理了一些大厂的真实面试,主要是:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力OPPO、中国平安的银盛支付和xff0c;中级,高级Java面试题集合附带超详细答案希望对大家有所帮助。
还有专门针对JVM的、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试问题。
essage queue_test = rest.receive(“queue_test”);
System.out.println(new String(queue_test.getBody(),“UTF-8”));
}。
最后。我还通过一些渠道整理了一些大厂的真实面试,主要是:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力OPPO、中国平安的银盛支付和xff0c;中级,高级Java面试题集合附带超详细答案希望对大家有所帮助。[外链图片转存中...(img-wedjtAB4-171405728193)。还有专门针对JVM的、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试问题。[外链图片转存中...(img-8kecq3tk-171405728194)。CODING开源项目:[一线工厂Java面试问题分析#43;核心总结学习笔记Ʊ最新解释视频Ʊ收录实战项目源码。