清华主页 - 清华新闻 - 综合时讯 - 正文

RabitMQ是最完整的教程

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:。服务器实体的消息队列。

rabbitmq核心概念

五: 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;核心总结学习笔记Ʊ最新解释视频Ʊ收录实战项目源码。

2025-06-24 11:52:52

相关新闻

清华大学新闻中心版权所有,清华大学新闻网编辑部维护,电子信箱: news@tsinghua.edu.cn
Copyright 2001-2020 news.tsinghua.edu.cn. All rights reserved.