中间件学习 - Rabbit MQ 概念及特殊MQ实现
Rabbit MQ
介绍
安装使用
- 安装
Erlang (RabbitMQ 基于Erlang 开发) Downloads - Erlang/OTP - 配置
Erlang 环境 erl -version 验证- 安装
rabbitMQ Downloading and Installing RabbitMQ — RabbitMQ - 进去
rabbitMQ 安装目录的sbin 目录里面 - 输入
rabbitmq-plugins enable rabbitmq_management
命令安装管理页面的插件 - 启动
rabbitmq-server.bat - 进入管理页面
http://localhost:15672 ,账号密码默认是:guest/guest
组件名称
- exchange(交换机
) :按照一定的规则将消息路由转发到队列,并且可以对消息进行过滤,交换机不存储数据。 - queue(队列
) :存储消息,消息到达后转发到消费者。
RabbitMQ 的工作模式
- 简单队列模式(Simple Queue)
- 工作队列模式(Work Queues)
- 发布订阅模式(Publish/Subscribe)
- 路由模式(Routing)
- 主题模式(Topic)
简单队列模式
最简单的队列模式,一个生产者一个消费者,主要用于处理异步任务
工作队列模式
一个生产者生产数据往队列里放,会有多个消费者消费队列里面的数据,消息不会被重复消费
借大佬图片用一下🦌
在消息过多,想增加执行效率的时候使用
订阅发布模式
生产者将消息发给交换机,每个消费者绑定一个队列,交换机会将消息转发到每一个绑定的队列里面去,每个队列都会收到这个消息,每个消费者都会消费到这条消息,即消息会被重复消费。
借大佬图片用一下🦌
路由模式
路由模式是一种特殊的发布订阅模式,交换机可以根据不同的规则将消息路由到不同的队列中保存
可以用来做日志级别的区分处理
topic 通配符模式
跟路由模式差不多,只不过路由方式可以换成通配符
死信队列
死信队列是用来接收过期消息,接收被拒绝的消息
拒绝的消息:
- 消息超长
- 消息过期
延迟队列
延迟队列可以延迟消费消息
实现方式:
- 设置消息过期时间
- 消息过期通过死信状态机将消息放入死信队列
- 死信队列通过状态机将消息发送到正常的队列里面消费
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
2019-08-24 spring boot 学习 ---- 使用事件监听