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属性来匹配发送消息的交换机与队列。

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

相关推荐
方方洛1 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
一条泥憨鱼2 天前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
迅翼SwiftWing2 天前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly76892 天前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
qq_452396232 天前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
真上帝的左手3 天前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
程序猿乐锅3 天前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
sunny06603 天前
推理 INFRA 方法论(2):分布式推理:TP、DP、EP、CP 与 PP 的取舍
人工智能·分布式
字节探索3 天前
Redis 分布式锁:从 SETNX 误删到看门狗自动续期的原理与实践
redis·分布式
真上帝的左手3 天前
30. 技术专题-‌应用框架组件-缓存-Redis
数据库·redis·分布式·缓存·中间件