RabbitMQ有多少种Exchange?

面试回答模板

"RabbitMQ 在 AMQP 协议中预定义了 四种常用交换机 + 两种特殊类型,共 6 种:

  1. Direct:routing-key 全等匹配;
  2. Fanout :广播,忽略 key;
  3. Topic:按 *.# 通配符匹配;
  4. Headers :按消息头键值对匹配(性能低,很少用);
  5. System :系统内部保留(如 amq.rabbitmq.trace);
  6. 自定义:通过插件扩展实现。

Java 开发层面 只需关注前 4 种,创建方式相同:
channel.exchangeDeclare("x", BuiltinExchangeType.DIRECT|FANOUT|TOPIC|HEADERS);"

追问场景示例

面试官:为什么实际项目里很少用 Headers?

答:Headers Exchange 在匹配时遍历所有键值对,CPU 开销大,且可读性差,Topic 几乎能覆盖其需求,所以线上基本不用。

相关推荐
魂之木35 分钟前
【零基础教程】基于Docker的RabbitMQ部署方案
分布式·docker·微服务·rabbitmq
oMcLin36 分钟前
如何在 RHEL 7 上通过配置 Apache Kafka 集群的分区机制,提升消息传递系统的吞吐量与数据流处理能力?
分布式·kafka·apache
红队it43 分钟前
【Spark+Hadoop】基于spark+hadoop游戏评论数据分析可视化大屏(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅
大数据·hadoop·分布式·算法·游戏·数据分析·spark
前端世界43 分钟前
鸿蒙系统中的分布式任务依赖是如何处理的?原理、方案与实践
分布式·华为·harmonyos
小雨下雨的雨1 小时前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:分布式联动与多端状态同步
分布式·flutter·华为·交互·harmonyos·鸿蒙系统
DeepFlow 零侵扰全栈可观测1 小时前
DeepFlow 实践:利用 eBPF 实现覆盖从网关到数据库的全栈分布式追踪
网络·分布式·云原生·云计算
你好龙卷风!!!1 小时前
MQ相关的概念,ActiveMQ、RabbitMQ、Kafka、RocketMQ对比
rabbitmq
俊哥大数据1 小时前
【项目9】 基于Spark网站流量日志大数据实时分析系统
大数据·分布式·spark
无心水1 小时前
【分布式利器:腾讯TSF】8、Service Mesh云原生演进:Java应用零侵入接入腾讯TSF全解析
分布式·云原生·envoy·service_mesh·service mesh·分布式利器·腾讯tsf
利刃大大2 小时前
【RabbitMQ】详细使用:工作队列 && 发布/订阅模式 && 路由模式 && 通配符模式 && RPC模式 && 发布确认机制
分布式·rpc·消息队列·rabbitmq