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

相关推荐
buligbulig38 分钟前
Hadoop正在失败?不,它正在壮大
大数据·hadoop·分布式
十年Java程序媛1 小时前
Redis 分布式锁 + GZIP 压缩缓存踩坑|高并发缓存真实线上复盘
java·开发语言·spring boot·redis·分布式·缓存·面试
啦啦啦啦啦zzzz2 小时前
分布式存储----缓存组
linux·服务器·c++·分布式·缓存
guo_wen_qiang5 小时前
kafka重复消费
分布式·kafka
霸道流氓气质5 小时前
分布式锁(Distributed Lock)详解
分布式
j7~6 小时前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇九):队列数据管理,内存镜像 + SQLite 持久化实现
数据库·c++·分布式·sqlite·rabbitmq·队列数据管理
做一个AK梦6 小时前
分布式CAP理论
分布式
此时不提桶,更待何时19 小时前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq
m0_646429971 天前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G1 天前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式