当前位置: 首页 > news >正文

RabbitMQ fanout交换机

为什么要用交换机?

交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机

交换机类型

1,fanout:广播

特点

广播所有消息​​:将消息发送到所有绑定到该交换机的队列(忽略 routing_key)。

​无过滤​​:所有消费者都会收到相同的消息副本。

适用场景​

系统通知(如全局公告)。

事件广播(如用户注册后触发邮件、短信、积分发放)。

控制台定义好交换机(交换机类型)、队列。

绑定交换机和队列。

java写代码消息发送者发送消息到交换机。

java写代码实现消费者,绑定监听的队列。

消息发送者将消息发送到交换机,交换机路由消息到各个队列,消费者处理队列里的消息。

2,Direct:定向

特点​

队列交换机约定一个(暗号)routing_key

交换机里面有个记录表,记录了各个队列的 routing_key (队列也可以绑定多个不同key,不同队列也可以绑定相同的routing_key

消息发送者发消息时,指定消息的routing_key 

​交换机 根据 发送者发来的 routing_key 在自己的表里找到相同的routing_key 的队列

​一对一或一对多​​:可通过多个队列绑定相同的 routing_key 实现多消费者接收。

​适用场景​

分类任务处理(如将 error 日志发送到错误处理队列)。

订单状态更新(如 order.paid 路由到支付服务)。

3,Topic:话题(推荐使用

特点​

​通配符匹配 routing_key​:

*(星号):匹配一个单词(如 order.* 可匹配 order.paid)。

#(井号):匹配零或多个单词(如 order.# 可匹配 order.paid.2023)。

​灵活路由​​:适合需要多维度分类的场景。

​适用场景​

多级日志分类(如 app.errorapp.warning)。

复杂事件路由(如 user.signup.emailuser.signup.sms)。

http://www.dtcms.com/a/238332.html

相关文章:

  • 【 SpringCloud | 微服务 MQ基础 】
  • 基于cornerstone3D的dicom影像浏览器 第三十章 心胸比例测量工具CTRTool
  • 免费批量Markdown转Word工具
  • 单线程模型中消息机制解析
  • C++ OpenCV 学习路线图
  • CAD多面体密堆积3D插件
  • 数据库入门:从原理到应用
  • 我用Cursor写了一个视频转文字工具,已开源,欢迎体验
  • 深入理解 React Hooks
  • 基于SpringBoot利用死信队列解决RabbitMQ业务队列故障重试无效场景问题
  • bugku 网络安全事件应急响应
  • Git配置代理
  • SCFSlRAE1通过调节SlWRKY1的稳定性来调控番茄对灰霉菌的抗性。
  • 自然语言处理——语言模型
  • jieba实现和用RNN实现中文分词的区别
  • 拼多多官方内部版 7.58.0 | 极限精简,只有2.5M
  • ASM,LVM,扫描并扩容步骤-linux
  • JAVA反序列化应用 : URLDNS案例
  • 基于 React Native for HarmonyOS5 的跨平台组件库开发指南,以及组件示例
  • 【Go语言基础【20】】Go的包与工程
  • 【Go语言基础【19】】接口:灵活实现多态的核心机制
  • 《Go小技巧易错点100例》第三十五篇
  • 【笔记】Poetry虚拟环境创建示例
  • STL详解——list的模拟实现
  • Linux 上的 Tomcat 端口占用排查
  • Puppeteer测试框架 - Node.js
  • 前端八股笔记
  • 十一(2) 类的实例化
  • 村田开发的超低功耗的Type 2GQ GNSS模块
  • 交流电机深度解析:从基础到实战的全面指南