RabbitMQ

RabbitMQ

六大模式

 

 

 

 

 

Hello Word

消息提供者

消息消费者

 

 

 Work Queues

 

 抽取工具类

 Consumer

 

 消息发送者

 

 消息应答

自动应答

手动应答

 

 

 消息重新入队

队列持久化

持久化之后再重启服务器,之前持久化的队列还存在,没有持久化的队列会消失

 

 消息持久化

 不公平分发

更改消费者的代码

 

 

 预取值

 

发布确认

 

单个发布确认

批量发布确认

 

异步发布确认

 

 

 

处理异步未确认消息

 

 准备容器

在发消息的时候记录

 

 消息确认

打印失败的消息

 交换机

 

Fanout

演示

消费者

 生产者

 Direct

 

 

 多重绑定

 Topic

 

 

 死信队列

 死信的来源

 

代码演示:消息超过TTL

普通消费者

 

 

可以选择打印信息:

                 

生产者

死信消费者

 

 队列达到最大长度

在上一个的基础上的普通消费者修改

 把生产者的过期时间注释掉

消息被拒

在普通消费者消费消息的时候拒绝,并且修改为手动应答

延迟队列

 

 

 与springBoot整合之后的代码

配置类

 

 

 

生产者

消费者

 

加一个不设置过期时间的队列,由生产者生产的时候指定时间

\

controller

使用插件实现延迟队列

 

 配置类

 

 

 生产者

 消费者

 

 

 发布确认高级

 

 

回调接口:交换机确认

 

对上面的补充代码

回退消息:信道

 

 

备份交换机:当备份交换机与接口回调一起使用的时候,前者优先级更高

 

将原本的交换机修改使只指向备份交换机

声明备份交换机以及备份队列和警告队列

 

备份交换机绑定队列

 警告队列的消费者

其他知识点

幂等性问题

概念

  

消息重复消费

 

解决思路

 

消费端的,幂等性保障

唯一ID+指纹吗机制

 

Redis原子性

优先级队列

使用场景

 

 

 

 控制台添加

 代码实现

 

 

惰性队列

使用场景

 两种模式

 

 内存开销对比

 

搭建集群

 

搭建步骤

镜像队列

 

搭建步骤

匹配规则^mirrior表示以mirrior为前缀的队列进行备份

负载均衡

解决生产者连接MQ时指定MQ宕机,集群可用的,但因为代码指定IP地址而连接不上其他MQ的情况

HAPorxy实现负载均衡

搭建步骤

Federation Exchange

搭建步骤

配置在上游配置

5.添加policy

插件下载完成的界面

Federation Queue

 搭建步骤

 

Shoval

 

搭建步骤

插件下载之后的界面

 

posted @ 2022-09-16 14:01  happy_in  阅读(20)  评论(0编辑  收藏  举报