当前位置: 首页 > 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)。

相关文章:

  • 【 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的包与工程
  • 东道设计学院/seo是什么品牌
  • 怎么做网页app/站长工具seo排名查询
  • 杭州网站建设/微商推广哪家好
  • 做网站怎么收费/seo学院
  • 脑洞大开的创意设计/整站seo排名外包
  • 上海中国国际进口博览会/系统优化的例子