2024-05-09
23.Shovel
2024-05-09 ~ 2024-06-26
一、启用Shovel插件 1 2 rabbitmq-plugins enable rabbitmq_shovel rabbitmq-plugins enable rabbitmq_shovel_management 二、配置Shovel 三、测试 1、测试计划 节点 交换机 路由键 队列 深圳节点 exchange.shovel.test exchange.shovel.test queue.shovel.demo.shenzhen 上海节点 —— —— queue.shovel.demo.shanghai 2、测试效果 ①发布消息 ②源节
2024-05-09
22.Federation插件
2024-05-09 ~ 2024-06-26
一、简介 Federation插件的设计目标是使RabbitMQ在不同的Broker节点之间进行消息传递而无须建立集群。 它可以在不同的管理域中的Broker或集群
2024-05-09
21.Stream Queue
2024-05-09 ~ 2024-06-26
一、启用插件 说明:只有启用了Stream插件,才能使用流式队列的完整功能 在集群每个节点中依次执行如下操作: 1 2 3 4 5 6 7 8 9 # 启用Stream插件 rabbitmq-plugins enable rabbitmq_stream # 重启r
2024-05-09
20.仲裁队列
2024-05-09 ~ 2024-06-26
一、创建仲裁队列 说明:鉴于仲裁队列的功能,肯定是需要在前面集群的基础上操作! 1、创建交换机 和仲裁队列绑定的交换机没有特殊,我们还是创建一个direct交换机即可
2024-05-09
19.集群搭建
2024-05-09 ~ 2024-06-26
一、安装RabbitMQ 1、前置要求 CentOS发行版的版本≥CentOS 8 Stream 镜像下载地址:https://mirrors.163.com/centos/8-s
2024-05-09
18.优先级队列
2024-05-09 ~ 2024-06-26
一、创建相关资源 1、创建交换机 exchange.test.priority 2、创建队列 queue.test.priority x-max-priority 3、队列绑定交换机 二、生产者发送消息 1、配置POM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency>
2024-05-09
17.惰性队列
2024-05-09 ~ 2024-06-26
一、创建惰性队列 1、官网说明 队列可以创建为默认或惰性模式,模式指定方式是: 使用队列策略(建议) 设置queue.declare参数 如果策略和队列参数同时指定,那么
2024-05-09
16.事务消息之生产者端
2024-05-09 ~ 2024-06-26
一、测试代码 1、引入依赖 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> 2、yaml配置 1 2 3 4 5 6 7 spring: rabbitmq: host: 192.168.200.100 port: 5672 username: guest password: 123456 virtual-host: / 3、
2024-05-09
15.延迟插件
2024-05-09 ~ 2024-06-26
一、插件简介 官网地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange 延迟极限:最多两
2024-05-09
14.死信
2024-05-09 ~ 2024-06-26
一、测试相关准备 1、创建死信交换机和死信队列 常规设定即可,没有特殊设置: 死信交换机:exchange.dead.letter.video 死信队列:queue.d
2024-05-09
13.消息超时
2024-05-09 ~ 2024-06-26
一、队列层面设置 1、设置 别忘了设置绑定关系: 2、测试 不启动消费端程序 向设置了过期时间的队列中发送100条消息 等10秒后,看是否全部被过期删除 二、消息层面设置 1、
2024-05-09
12.Prefetch
2024-05-09 ~ 2024-06-26
一、思路 生产者发送100个消息 对照两种情况: 消费端没有设置prefetch参数:100个消息被全部取回 消费端设置prefetch参数为1:100个消息慢慢取回 二
2024-05-09
11.消费端消息确认
2024-05-09 ~ 2024-06-26
一、ACK ACK是acknowledge的缩写,表示已确认 二、默认情况 默认情况下,消费端取回消息后,默认会自动返回ACK确认消息,所以在前面的测试中消息被消费端
2024-05-09
10.交换机和队列持久化
2024-05-09 ~ 2024-06-26
一、测试非持久化交换机和队列 1、创建非持久化交换机 创建之后,可以在列表中看到: 2、创建非持久化队列 创建之后,可以在列表中看到: 3、绑定 4、发送消息 1 2 3 4 5 6 7
2024-05-09
9.备份交换机
2024-05-09 ~ 2024-06-26
一、创建备份交换机 1、创建备份交换机 注意:备份交换机一定要选择fanout类型,因为原交换机转入备份交换机时并不会指定路由键 2、创建备份交换机要绑定的队列 ①创建
2024-05-09
8.生产者端消息确认机制
2024-05-09 ~ 2024-06-26
一、创建module 二、搭建环境 1、配置POM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> 2、主启动类 没有特殊设定: 1 2 3 4 5
2024-05-09
7.整合SpringBoot
2024-05-09 ~ 2024-06-26
1、消费者工程 ①创建module ②配置POM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> ③YAML 增加日志打印的配置: 1 2 3 4
2024-05-09
6.主题模式
2024-05-09 ~ 2024-06-26
Topic类型和Direct类型相比,都是可以根据Routing key把消息路由绑定到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routi
2024-05-09
5.路由模式
2024-05-09 ~ 2024-06-26
通过路由绑定的方式,把交换机和队列连接起来。 交换机和队列通过路由键进行绑定。 生产者发送消息时不仅要指定交换机还要指定路由键。 交换机接收到消息会发送到路由键绑定的
2024-05-09
4.发布订阅模式
2024-05-09 ~ 2024-06-26
发布订阅模式中有一个交换机的概念,交换机和队列绑定,生产者生产消息发送到交换机,而交换机本身不会存储数据,通过广播的方式会将每一条消息发送到和他绑定的所有队列,
2024-05-09
3.工作队列模式
2024-05-09 ~ 2024-06-26
生产者只有一个。 发送一个消息。 消费者只有一个,消息也只能被这个消费者消费。 多个消费者监听同一个队列,则各消费者之间对同一个消息是竞争关系,谁抢到是谁的。 Work Queues 工作
2024-05-09
2.HelloWorld
2024-05-09 ~ 2024-06-26
一、目标 生产者发送消息,消费者接收消息,用最简单的方式实现 官网说明参见下面超链接: RabbitMQ tutorial - “Hello World!” — RabbitMQ 二、具体操作 1、创建Java工程 ①消息发送端(生产者) ②消息接收
2024-05-09
1.RabbitMQ安装
2024-05-09 ~ 2024-06-26
一、安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 拉取镜像 docker pull rabbitmq:3.13-management # -d 参数:后台运行 Docker 容器 # –name 参数:设置容器名称 # -p 参数:映射端口号,格式是“宿主机端口号:容器内端口号”