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 几乎能覆盖其需求,所以线上基本不用。

相关推荐
ltl5 小时前
2PC 的真实失败模式:阻塞、脑裂与恢复
分布式
霸道流氓气质8 小时前
分布式系统设计:技术解析与实践
分布式
ACP广源盛1392462567310 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
汽车仪器仪表相关领域14 小时前
KRYPTON坚固型IP67 EtherCAT总线数据采集模块:工业级分布式采集方案
分布式·功能测试·汽车·压力测试·可用性测试
霸道流氓气质16 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
naierfengdian18 小时前
分布式风电助力乡村能源转型的技术路径
分布式·能源
霸道流氓气质19 小时前
RedLock:Redis 分布式锁的高可用方案
数据库·redis·分布式
hhzz19 小时前
《深度学习框架PyTorch入门与实践》系列:09-分布式与并行训练之DataParallel、DDP与Horovod
pytorch·分布式·深度学习
城管不管1 天前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
apgk11 天前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq