Operation020-Shovel

老大夫 发布于 2024-09-01 18:06
操作025:Shovel 一、启用Shovel插件 rabbitmq-plugins enable rabbitmq_shovel rabbitmq-plugins enable rabbitmq_shovel_management 二、配置Shovel 三、测试 1、测试计划 节点 交换机 路由键 队列 深圳节点 exchange.sho...

Operation019-Federation

老大夫 发布于 2024-09-01 18:05
操作024:Federation插件 一、简介 Federation插件的设计目标是使RabbitMQ在不同的Broker节点之间进行消息传递而无须建立集群。 它可以在不同的管理域中的Broker或集群间传递消息,这些管理域可能设置了不同的用户和vhost,也可能运行在不同版本的RabbitMQ和Erlang上。Federation基于AMQP 0-9-1协...

Operation018-Stream

老大夫 发布于 2024-09-01 18:05
操作018:Stream Queue 一、启用插件 说明:只有启用了Stream插件,才能使用流式队列的完整功能 在集群每个节点中依次执行如下操作: # 启用Stream插件 rabbitmq-plugins enable rabbitmq_stream # 重启rabbit应用 rabbitmqctl stop_app rabbitmqctl sta...

Operation017-Quorum

老大夫 发布于 2024-09-01 18:04
操作017:仲裁队列 一、创建仲裁队列 说明:鉴于仲裁队列的功能,肯定是需要在前面集群的基础上操作! 1、创建交换机 和仲裁队列绑定的交换机没有特殊,我们还是创建一个direct交换机即可 交换机名称:exchange.quorum.test 2、创建仲裁队列 队列名称:queue.quorum.test 3、绑定交换机 路由键:routing.k...

Operation016-Cluster

老大夫 发布于 2024-09-01 18:04
操作016:集群搭建 一、安装RabbitMQ 1、前置要求 CentOS发行版的版本≥CentOS 8 Stream 镜像下载地址:https://mirrors.163.com/centos/8-stream/isos/x86_64/CentOS-Stream-8-20240318.0-x86_64-dvd1.iso RabbitMQ安装方式官方指南: ...

Operation015-PriorityQueue

老大夫 发布于 2024-09-01 18:04
操作015:优先级队列 一、创建相关资源 1、创建交换机 exchange.test.priority 2、创建队列 queue.test.priority x-max-priority 3、队列绑定交换机 二、生产者发送消息 1、配置POM <parent> <groupId>org.springframework...

Operation014-LazyQueue

老大夫 发布于 2024-09-01 18:03
操作014:惰性队列 一、创建惰性队列 1、官网说明 队列可以创建为默认或惰性模式,模式指定方式是: 使用队列策略(建议) 设置queue.declare参数 如果策略和队列参数同时指定,那么队列参数有更高优先级。如果队列模式是在声明时通过可选参数指定的,那么只能通过删除队列再重新创建来修改。 2、基于策略方式设定 # 登录Docker容器 docke...

Operation013-Tx-Producer

老大夫 发布于 2024-09-01 18:03
操作013:事务消息之生产者端 一、测试代码 1、引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <...

Operation012-DelayPlugin

老大夫 发布于 2024-09-01 18:02
操作012:延迟插件 一、插件简介 官网地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange 延迟极限:最多两天 二、插件安装 1、确定卷映射目录 docker inspect rabbitmq 运行结果: "Mounts": [ { ...

Operation011-DeadLetter

老大夫 发布于 2024-09-01 18:02
操作011:死信 一、测试相关准备 1、创建死信交换机和死信队列 常规设定即可,没有特殊设置: 死信交换机:exchange.dead.letter.video 死信队列:queue.dead.letter.video 死信路由键:routing.key.dead.letter.video 2、创建正常交换机和正常队列 注意:一定要注意正常队列有诸多限定...

Operation010-MessageTimeout

老大夫 发布于 2024-09-01 18:02
操作010:消息超时 一、队列层面设置 1、设置 别忘了设置绑定关系: 2、测试 不启动消费端程序 向设置了过期时间的队列中发送100条消息 等10秒后,看是否全部被过期删除 二、消息层面设置 1、设置 import org.springframework.amqp.core.Message; import org.springframework....

Operation009-Prefetch

老大夫 发布于 2024-09-01 18:01
操作009:Prefetch 一、思路 生产者发送100个消息 对照两种情况: 消费端没有设置prefetch参数:100个消息被全部取回 消费端设置prefetch参数为1:100个消息慢慢取回 二、生产者端代码 @Test public void testSendMessage() { for (int i = 0; i < 1...

Operation008-Confirm03-Consumer

老大夫 发布于 2024-09-01 18:01
操作008-03:消费端消息确认 一、ACK ACK是acknowledge的缩写,表示已确认 二、默认情况 默认情况下,消费端取回消息后,默认会自动返回ACK确认消息,所以在前面的测试中消息被消费端消费之后,RabbitMQ得到ACK确认信息就会删除消息 但实际开发中,消费端根据消息队列投递的消息执行对应的业务,未必都能执行成功,如果希望能够多次重试,那么...

Operation008-Confirm02-Duration

老大夫 发布于 2024-09-01 18:00
操作008-02:交换机和队列持久化 一、测试非持久化交换机和队列 1、创建非持久化交换机 创建之后,可以在列表中看到: 2、创建非持久化队列 创建之后,可以在列表中看到: 3、绑定 4、发送消息 public static final String EXCHANGE_TRANSIENT = "exchange.transient.user...

Operation008-Confirm01-B-BackupEx

老大夫 发布于 2024-09-01 17:59
操作008-01-B:备份交换机 一、创建备份交换机 1、创建备份交换机 注意:备份交换机一定要选择fanout类型,因为原交换机转入备份交换机时并不会指定路由键 2、创建备份交换机要绑定的队列 ①创建队列 ②绑定交换机 注意:这里是要和备份交换机绑定 3、针对备份队列创建消费端监听器 public static final String ...