rabbitmq的交换机类型以及他们的区别

RabbitMQ中有四种主要的交换机类型,它们是:Direct,Topic,Fanout,Headers。

  1. Direct(直连交换机):接收到消息后,会将消息发送到与消息的routing key完全匹配的队列上。Direct交换机的路由规则非常简单,可以直接使用队列名称作为routing key,将消息发送到指定的队列。

  2. Topic(主题交换机):接收到消息后,会将消息发送到与消息的routing key匹配的队列上。但是,它的routing key可以使用通配符进行模糊匹配。其中,通配符#匹配多个单词,*匹配一个单词。

  3. Fanout(扇形交换机):接收到消息后,会将消息发送到所有与该交换机绑定的队列上,忽略消息的routing key。Fanout交换机的路由规则非常简单,将所有的消息广播给绑定到该交换机上的队列。

  4. Headers(头交换机):接收到消息后,会根据消息的headers属性来匹配交换机与队列的条件,忽略消息的routing key。Headers交换机使用起来较少,通过headers属性来匹配发送消息的交换机与队列。

这四种交换机类型的区别在于消息的路由规则和匹配方式。不同的交换机类型适用于不同的场景,可以根据需要选择合适的交换机类型来实现消息的分发

相关推荐
太阳伞下的阿呆4 分钟前
kafka高吞吐持久化方案(1)
分布式·mysql·kafka·db·高吞吐
Light606 分钟前
Spark OA 系统深度分析与改造报告(整合版 + 领码 SPARK 改造计划 + 功能缺口)
大数据·分布式·spark
生成论实验室3 小时前
即事是道:一种基于生成论的分布式体验存在论
人工智能·分布式·科技·神经网络·信息与通信
无心水10 小时前
【分布式利器:大厂技术】4、字节跳动高性能架构:Kitex+Hertz+BytePS,实时流与AI的极致优化
人工智能·分布式·架构·kitex·分布式利器·字节跳动分布式·byteps
爬山算法16 小时前
Redis(167)如何使用Redis实现分布式缓存?
redis·分布式·缓存
NPE~16 小时前
面试高频——分布式事务详解
分布式·面试·职场和发展·程序员·事务·分布式事务
西岭千秋雪_17 小时前
MySQL集群搭建
java·数据库·分布式·mysql
华仔啊17 小时前
RebbitMQ 入门教程看这一篇就够了
java·后端·rabbitmq
源代码•宸19 小时前
分布式缓存-GO(项目整体架构简介、Ubuntu 22.04 64位安装GoLang、安装Docker、解决Go module 的依赖问题)
经验分享·分布式·后端·ubuntu·缓存·docker·golang
Ttang2320 小时前
【SpringCloud1】从单体架构到分布式系统架构
分布式·spring cloud·架构